如何在jquery中禁用窗口滚动事件

时间:2014-04-17 06:43:32

标签: jquery

在一个html页面我调用一个函数在窗口向下滚动在某些情况下我不想调用窗口向下滚动事件(函数)然后我怎么可以在dsable窗口向下滚动事件。 我正在使用代码:

$(window).scroll(function(){
    var wintop = $(window).scrollTop(), 
        docheight = $(document).height(), 
        winheight = $(window).height();
    var scrolltrigger = 0.95;
    if  ((wintop/(docheight-winheight)) > scrolltrigger) {
        //console.log('scroll bottom');
        add();
    }
});

如果有人知道解决方案,请帮助我。

2 个答案:

答案 0 :(得分:2)

使用以下代码

$('body').on({
'mousewheel': function(e) {
    if (e.target.id == 'el') return;
    e.preventDefault();
    e.stopPropagation();
    }
})

你在这里得到了很好的答案 - > jQuery or Javascript - how to disable window scroll without overflow:hidden;

现场演示http://jsfiddle.net/92mxb/

答案 1 :(得分:0)

只需执行此类操作即可快速恢复原点。在scroll()函数

中也有类似的东西
if ( initScrollTop != $(window).scrollTop() ) {
    $(window).scrollTop( initScrollTop );
}

将全局声明在函数之外。

 var initScrollTop = $(window).scrollTop();

我在手机上无法测试。很快就会回家,但它应该差不多那么简单。