jQuery stop(window).scrollTop函数

时间:2014-07-21 15:14:30

标签: jquery function scroll window scrolltop

我有一个if else语句,如果滚动超过50px,它会添加一个类。如果我点击一个按钮,有没有办法可以取消整个功能?

$(window).scroll(function(){
    if($(window).scrollTop()>50){
        $('.scroller').addClass('fixedposition');
    } else {
        $('.scroller').removeClass('fixedposition');
    }
});

我在页面的多个位置都有相同的.scroller类,所以我想在某些事件中将其关闭。

示例JSFiddle

1 个答案:

答案 0 :(得分:3)

这应该禁用任何附加到滚动的操作(独立于您正在使用的库的解决方案)

$('body').on({
'mousewheel': function(e) {
    e.preventDefault();
    e.stopPropagation();
    }
})

其他(更合适的)解决方案是取消绑定滚动,假设您正在使用Jquery滚动

$(window).unbind('scroll');

最后一个是

$('button')
    .on('click', function () {
        $('.scroller')
            .toggleClass('scroller-enabled');
})

并基于scroller-enabled类启用或禁用功能。