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

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

· 11년 전 · 1831 · 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가 있으면 좋을텐데요.. 친절한 답변 감사드립니다. 일러주신 내용 대로 함 적용해보겠습니다.^^

게시글 목록

번호 제목
28080
7612
7598
7595
19842
28079
19840
7593
28076
7590
28072
28065
19836
7586
28058
7573
31754
7552
28057
30993
28052
7546
7544
7538
7519
30992
19834
7517
7512
7511
19832
19820
7509
24658
7508
7507
19818
30990
7506
7505
7498
7492
28051
7481
30988
19813
19812
7477
7476
7471
7467
19810
7464
19809
7463
7457
30980
7450
28043
7447
7440
28040
7438
7430
7427
7423
7414
7408
7405
7401
7400
19808
7398
7393
7389
19805
7382
7379
7378
7363
7361
7356
19804
7355
7352
19786
7342
7336
7332
19783
7328
7325
7324
28036
19782
7321
26574
7314
7312
19781