使用mousewheel.js抖动垂直滚动

时间:2015-05-02 22:36:49

标签: javascript jquery scroll mousewheel

所以我使用mousewheel.js检测用户何时在文档上滚动以手动滚动某个div。

我正在使用此功能执行此操作:

$(document).bind('mousewheel', function(event, delta, deltaX, deltaY) 
{
    if(delta < 0)
    {
        $('#postscroller').scrollTop($('#postscroller').scrollTop() + 60);
    }
    else
    {
        $('#postscroller').scrollTop($('#postscroller').scrollTop() - 60);
    }
});

在我的桌面上它运行得很好,但是当我在Chromebook中尝试它时,在触摸板上有水平滚动,垂直滚动变得紧张,如果我水平滚动它会垂直滚动。

我尝试了各种解决方法,例如:

var delta = (Math.abs(deltaX)>Math.abs(deltaY)) ? (-1 * deltaX) : deltaY;

尝试完全禁用水平滚动,如:

document.addEventListener('DOMMouseScroll', function(e) { 
if (e.axis == e.HORIZONTAL_AXIS) {
    e.stopPropagation(); 
    e.preventDefault();
    e.cancelBubble = false; 
}
return false;
}, false);

var $body = $(document);
$body.bind('scroll', function() {
    // "Disable" the horizontal scroll.
    if ($body.scrollLeft() !== 0) {
        $body.scrollLeft(0);
    }
});

那些没用。 对此事有任何帮助表示赞赏。

0 个答案:

没有答案