我目前正在制作一个网站。该网站的特色是水平滚动图像轮播。这充当了客户的投资组合。
为了改善用户体验,我将以下脚本(与jquery.mousewheel.js结合使用)包含在悬停在.carousel
元素上时将任何垂直鼠标滚动转换为水平滚动。
$('.carousel').mousewheel(function(e, delta) {
$(this).scrollLeft(this.scrollLeft + (-delta * 40));
e.preventDefault();
});
这在翻译输入时效果很好。
我面临的问题是不同的输入设备(触控板,常规鼠标)以极低的速率滚动,尽管jquery.mousewheel.js处理这些设备之间的规范化。
如果我调整脚本以允许触控板(-delta * 1
),常规鼠标将慢慢滚动(每轮调整一个像素左右)。如果我允许常规鼠标输入(-delta * 40
),则触控板将快速滚动。
Here is an example of the intended functionality.
我唯一能想到的是,第二个脚本在某种程度上干扰了jquery.mousewheel.js,可能会阻止正常化初始化。其次,更有可能的是,我没有正确实现这一点。
非常感谢任何见解。