Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery鼠标滚轮在触摸板上水平滚动。避免deltaX和deltaY之间的冲突_Javascript_Jquery_Mousewheel - Fatal编程技术网

Javascript jquery鼠标滚轮在触摸板上水平滚动。避免deltaX和deltaY之间的冲突

Javascript jquery鼠标滚轮在触摸板上水平滚动。避免deltaX和deltaY之间的冲突,javascript,jquery,mousewheel,Javascript,Jquery,Mousewheel,我使用jquery鼠标滚轮插件来创建一个水平滚动的网站。垂直鼠标滚轮移动转化为水平滚动。 使用轨迹板时,会出现冲突,因为有时不清楚是向右滚动还是向左滚动。(例如,如果在轨迹板上向右上方移动) 我如何才能使这项工作顺利进行,如本页所示: 我没有一个只有垂直滚轮的鼠标,但我会假设,无论哪个delta组件更大,都会显示用户的意图。这对我来说很有效,除非移动非常缓慢或用户在任何方向上移动45度: $('#scroll').on('mousewheel',function(event, delta, de

我使用jquery鼠标滚轮插件来创建一个水平滚动的网站。垂直鼠标滚轮移动转化为水平滚动。 使用轨迹板时,会出现冲突,因为有时不清楚是向右滚动还是向左滚动。(例如,如果在轨迹板上向右上方移动)

我如何才能使这项工作顺利进行,如本页所示:


我没有一个只有垂直滚轮的鼠标,但我会假设,无论哪个delta组件更大,都会显示用户的意图。这对我来说很有效,除非移动非常缓慢或用户在任何方向上移动45度:

$('#scroll').on('mousewheel',function(event, delta, deltaX, deltaY) {
    event.preventDefault();

    //use whichever component (deltaX or deltaY) that has the largest absolute value
    // deltaX needs negated to have natural scroll motion
    var singleDelta = (Math.abs(deltaX)>Math.abs(deltaY)) ? (-1 * deltaX) : deltaY;

    this.scrollLeft-= (singleDelta * 1.5);
});

你最后做了什么?
$('#scroll').on('mousewheel',function(event, delta, deltaX, deltaY) {
    event.preventDefault();

    //use whichever component (deltaX or deltaY) that has the largest absolute value
    // deltaX needs negated to have natural scroll motion
    var singleDelta = (Math.abs(deltaX)>Math.abs(deltaY)) ? (-1 * deltaX) : deltaY;

    this.scrollLeft-= (singleDelta * 1.5);
});