움직이는 퀵메뉴 하단에 닿기 전에 멈추는 방법이 있을까요? 정보
움직이는 퀵메뉴 하단에 닿기 전에 멈추는 방법이 있을까요?본문
초보 코더입니다.^^;;
사이트 왼쪽에 위치 할 퀵메뉴를 코딩해야 합니다.
하단으로 스크롤시 퀵메뉴도 같이 따라서 움직이는 소스를 아래와 같이 찾았습니다.
내용 중 빨간색 부분은 페이지 상단에서 아래로 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 에 이게 있으면 참 좋을텐데, 이상하게 없더라구요.
그래서 항상 저 메뉴가 사용자 관점에서 보면 상단에서 280px 내려온 자리에서 보이게 되어 있네요. 같이 따라다닌다는게 무슨뜻인지 정확히 이해가 안되서 코드보고 무슨뜻인지 이해를 한. ㅎㅎㅎ
따라다니는 메뉴가 아니라, 고정 메뉴라고 하시는게 맞을 것 같은데... 그리고 저 코드만 봐서는 그냥 고정된 메뉴인데요? 스크롤 위치에 상관없이 항상 그 자리에 머무르는.... 그래서 저걸 왜 jQuery 로 작성했는지 조차 이해하기가 어렵네요. 그냥 css 만으로도 같은 효과를 줄수 있는건데...
질문에 대한 답변: 스크롤이 바닥에 가까워지면 바닥과 거리계산하셔서 고정된 position 의 element 를 position: relative 로 바꿔주세요.
jQuery 는 scrollTop 은 있는데, scroll바닥 은 없습니다. 그래서
if($(this).scroll바닥() < 100){ 이런식으로 작성하실 수 없고,
var 바닥 = $(window).scrollTop() + $(window).height(); 이런식으로 바닥 거리를 계산하셔서 하시면 됩니다.
scrollBottom, 훔.. jQuery 에 이게 있으면 참 좋을텐데, 이상하게 없더라구요.
맞아요...jquery가 있으면 좋을텐데요.. 친절한 답변 감사드립니다. 일러주신 내용 대로 함 적용해보겠습니다.^^