【问题标题】:jQuery stop (window).scrollTop functionjQuery 停止(窗口).scrollTop 函数
【发布时间】:2014-07-21 15:14:30
【问题描述】:

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

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

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

例如JSFiddle

【问题讨论】:

    标签: jquery function scroll window scrolltop


    【解决方案1】:

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

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

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

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

    最后一个是去

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

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

    【讨论】:

    • $(window).unbind('scroll'); 正是我想要的。我还了解到.bind 会让我重新启用滚动;感谢您的帮助!
    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 2015-10-11
    相关资源
    最近更新 更多