움직이는 퀵메뉴 하단에 닿기 전에 멈추는 방법이 있을까요? > 십년전오늘

십년전오늘

10년전 추억의 책장을 넘기며

움직이는 퀵메뉴 하단에 닿기 전에 멈추는 방법이 있을까요? 정보

움직이는 퀵메뉴 하단에 닿기 전에 멈추는 방법이 있을까요?

본문

초보 코더입니다.^^;;

사이트 왼쪽에 위치 할 퀵메뉴를 코딩해야 합니다.

하단으로 스크롤시 퀵메뉴도 같이 따라서 움직이는 소스를 아래와 같이 찾았습니다.

 

내용 중 빨간색 부분은 페이지 상단에서 아래로 260px정도 마우스 스크롤 하며 내렸을때부터 퀵메뉴를 움직이라는 명령인거 같은데,

그럼 반대로 퀵메뉴가 사이트 하단에 닿기 전에 일정 위치에서 멈추게하는 방법이 있을까요?

고수님들의 조언 부탁드립니다.

 

 

$(function(){
 });
 if($(this).scrollTop() > 260){
 $("#floating_sub2").css({ "position": "fixed", "top": "20px" });
 }else{
 $("#floating_sub2").css({ "position": "absolute", "top": "280px" });
 }
 });
 });​

 

 

 

 

댓글 전체

퀵메뉴가 하단에 닿기 전이라고 하면 퀵메뉴 높이를 알아야 할것 같은데요.
그래야 언제 멈춰야 하는지 알수 있을것 같은데요. ㅎㅎ
사이트를 보여주셔야 할것 같은데요. ㅎ
위 jQuery 는 문서 최상단에서 260px 이상 간격이 벌어지면 positon: fixed 가 적용되고 (위 마진 20px 도 잡고: 그러니까 결국 280px), 아니면 position: absolute 으로 잡히게 되어 있습니다.  280px 만큼의 아래로 간격이 떨어진 자리에.

그래서 항상 저 메뉴가 사용자 관점에서 보면 상단에서 280px 내려온 자리에서 보이게 되어 있네요.  같이 따라다닌다는게 무슨뜻인지 정확히 이해가 안되서 코드보고 무슨뜻인지 이해를 한. ㅎㅎㅎ

따라다니는 메뉴가 아니라, 고정 메뉴라고 하시는게 맞을 것 같은데... 그리고 저 코드만 봐서는 그냥 고정된 메뉴인데요?  스크롤 위치에 상관없이 항상 그 자리에 머무르는....  그래서 저걸 왜 jQuery 로 작성했는지 조차 이해하기가 어렵네요. 그냥 css 만으로도 같은 효과를 줄수 있는건데...

질문에 대한 답변: 스크롤이 바닥에 가까워지면 바닥과 거리계산하셔서 고정된 position 의 element 를 position: relative 로 바꿔주세요.

jQuery 는 scrollTop 은 있는데, scroll바닥 은 없습니다.  그래서

if($(this).scroll바닥() < 100){  이런식으로 작성하실 수 없고,

var 바닥 = $(window).scrollTop() + $(window).height(); 이런식으로 바닥 거리를 계산하셔서 하시면 됩니다.

scrollBottom, 훔.. jQuery 에 이게 있으면 참 좋을텐데, 이상하게 없더라구요.
전체 135,196
십년전오늘 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT