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