Jquery检测ScrollTop

时间:2018-04-24 02:14:10

标签: jquery

我正在尝试创建一个粘性菜单,唯一的问题是当我向上滚动removeClass被触发时

 $(window).bind('scroll',function() {
    var scroll = $(window).scrollTop();
    if(scroll > 50 ) {

        $('.menu').addClass( 'sticky' );
    } else {

         $('.menu').removeClass('sticky');
    }

});

1 个答案:

答案 0 :(得分:0)

您可以检查滚动是向上还是向下,以便仅在向下滚动时将其删除。 像这样:

var lastScroll = 0;
$(window).bind('scroll',function() {
   var scroll = $(this).scrollTop();
   if(scroll > lastScroll) {
      if(scroll > 50 ) {
         $('.menu').addClass( 'sticky' );
      } else {
         $('.menu').removeClass('sticky');
      }
   }
   lastScroll = scroll;
});

如果滚动大于lastScroll,则向下滚动。