테스트 사이트 - 개발 중인 베타 버전입니다

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

· 11년 전 · 1830 · 3

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

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

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

 

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

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

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

 

 

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

 

 

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

퀵메뉴가 하단에 닿기 전이라고 하면 퀵메뉴 높이를 알아야 할것 같은데요.
그래야 언제 멈춰야 하는지 알수 있을것 같은데요. ㅎㅎ
사이트를 보여주셔야 할것 같은데요. ㅎ
위 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 에 이게 있으면 참 좋을텐데, 이상하게 없더라구요.
맞아요...jquery가 있으면 좋을텐데요.. 친절한 답변 감사드립니다. 일러주신 내용 대로 함 적용해보겠습니다.^^

게시글 목록

번호 제목
26573
7309
19780
7306
28025
28020
28010
7304
7302
7295
7292
7287
19779
7284
7279
7278
28009
31753
31752
7274
31751
31750
31749
31748
30979
31747
28004
31745
7267
7261
31742
7256
19776
24650
7252
7248
28002
19772
7245
19770
19769
30975
7243
7236
28001
27994
7233
7232
19768
19765
19763
30974
7224
19761
24645
19760
19758
19757
19754
19753
19752
19751
7223
7216
7213
31741
19750
19749
19748
31740
31739
31738
7208
31737
30967
31736
7205
30965
30963
19747
19746
19745
19744
19742
7193
7191
31735
19741
19740
19739
7188
27986
31734
31733
31732
7186
19738
19736
7180
7165