停止jquery滚轮滚动文档

时间:2012-07-09 14:49:37

标签: jquery scroll mousewheel

修改

也许我正在接近这个错误 - 有没有人知道任何阻止页面滚动鼠标滚轮的方法?甚至可以禁用它吗?

-

我有一个div容器,里面装有较小的div,当鼠标滚轮滚动时会生成动画。这不是一个带溢出的div:隐藏,它没有滚动区域 - 它只是一个简单的jquery动画(动画效果很好btw)。

不幸的是,尽管我尽了最大努力,但是当鼠标在容器div中时,我无法阻止整个页面滚动。

我正在使用Brandon Aaron的jQuery鼠标插件(这应该可以解决我的问题,但遗憾的是它不是。)

这是我的javascript:

$('#containerDiv').mousewheel(function(event,delta,deltaX,deltaY){
    /* all of this is supposed to stop the page from scrolling...  but it doesnt*/
    event.bubbles=false;
    event.cancelBubble=true;
    if(event.preventDefault) event.preventDefault();
    if(event.stopPropagation) event.stopPropagation();
    if(event.stopImmediatePropagation) event.stopImmediatePropagation();
    $(document).blur();
    $(this).focus();

    /*this function just animates the divs inside the container divs*/
    animateDivs(delta);
});

我已经完成了这些问题:

Prevent scrolling of parent element?

stop mousewheel's continued effect

stop scrolling of webpage with jquery

并且他们似乎都没有帮助。

有人能为这个问题提供更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以将galambalazs的solution用作Guilherme Torres Castro answered。但它并没有取消scroll事件。如果要取消滚动事件,则必须添加它。 fiddle solution ntownsend's postFINAL SOLUTION is here启示。

此解决方案的问题是“点击”(隐藏/显示)滚动条。所以我在window.onScroll事件和我的https://stackoverflow.com/a/3352244/1102223

上添加滚动到实际滚动位置

当我尝试滚动时,最终解决方案有问题,但事件在滚动之前不存在{{3}}