2017-05-16 1 views
0

안녕하세요, 저는 js와 HTML을 배우며 모두 배우기 위해 열심히 노력했습니다.페이지의 특정 지점에서 navbar 슬라이드를 사용 하시겠습니까?

내 페이지의 특정 부분 (스크롤을 통해)에서 트리거하려는 navbar가 있습니다. 지금 당장 가지고있는 코드는 navbar가 무한 루프로 계속해서 페이드 인하는 것을 강제합니다.

$('.navbarclass').hide(0); 

    $(window).on('scroll', function() { 
     var y_scroll_pos = window.pageYOffset; 
     var scroll_pos_test = 150;   

     if(y_scroll_pos > scroll_pos_test) { 
      $('.navbarclass').slideToggle(); 
     } 

    }); 

는 기본적으로 나는 네비게이션 바 (이것은 않습니다) (150)에 트리거 할 있지만에서 밖으로 토글 반복 유지 :

여기 내 자바 스크립트입니다.

답변

0

.slideDown()합니다. 따라서 150px보다 큰 각 스크롤은 navbar slideDown 또는 slideUp을 만듭니다.

이렇게하면 조건부가됩니다.

if (y_scroll_pos > scroll_pos_test) { 
    $('.navbarclass').slideDown(); 
} else { 
    $('.navbarclass').slideUp(); 
} 

슬라이드가 150px보다 크면 navbar를 내려 놓고 150px보다 작거나 같으면 slideUp를 내립니다.

스크롤이 150px 이상일 때만 표시하고 다른 작업은하지 않으려면 else 블록을 삭제하면됩니다.

+0

완벽하게 작동합니다! 감사! –

0

변경 .slideToggle() 당신이 150 픽셀을 스크롤 한 후 조건이 항상 사실 때문에 그것은 전환에 루핑

+0

** 리뷰 큐 **에서 : 귀하의 답변에 대해 약간의 컨텍스트를 추가하도록 요청할 수 있습니다. 코드 전용 답변은 이해하기 어렵습니다. 그것은 당신이 당신의 포스트에있는 정보를 더 추가 할 수있는 경우에 둘 다 구경꾼 및 미래 독자를 도울 것이다. – RBT

관련 문제