触摸板上的双指滚动js
Two-fingered scroll js on touchpad
我们开发了一个具有水平方向的网站,希望通过两个手指向左/向右移动来实现触摸板控制。
当你在触摸板上向左/向右移动两根手指时,网站页面会向左/向右滚动。现在,我们已经实现了两个手指上下移动和页面左右滚动的触摸板控制。
我们如何使用js或jQuery更改触摸板控制,用两根手指从上/下向左/向右移动以向左/向右滚动网站页面?
我可能迟到了一点,但在偶然发现这个问题之前,我也有同样的问题。进一步的调查让我认为,捕捉触控板滚动的最佳选择是wheel
事件。
function doScroll(e) {
// positive deltas are top and left
// down and right are negative
// horizontal offset e.deltaX
// vertical offset e.deltaY
console.log(`x:${e.deltaX} y:${e.deltaY}`);
e.preventDefault(); // disable the actual scrolling
}
window.addEventListener("wheel", doScroll, false);
我准备了一个小提琴,它告诉你滚动方向和偏移值,但阻止滚动本身。
轮子事件具有delta属性,该属性(至少在Chrome中)对动量敏感,并为您提供当前的相对滚动偏移,而不是scroll
事件中可用的绝对滚动位置。
通常当你想接管脚本中的触摸事件时,你会添加这样的东西来防止通常的滚动和缩放:
$("body").bind("touchstart", function(e) {
e.preventDefault();
})
您需要做的是更改可以滚动的内容。如果你的页面足够大,向左/向右滚动是有意义的,浏览器会允许它以这种方式滚动。
基本上,如果你只想让它们在某个方向上滚动,就只想在那个方向上制作内容。如有必要,您可以通过将溢出设置为none的特定大小的容器div来实现这一点。
相关文章:
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- Myo和Node.js:从四元数滚动/俯仰/偏航
- 为什么 JS 不在滚动时调用函数
- 在向下滚动JS/HTML/CSS wordpress网站时替换徽标图像
- 使用JS滑动或滚动图像
- fullpage.js和物化.js;使用实体侧导航禁用鼠标滚动
- css/js:通过滚动固定位置
- Skrollr js没有在手机中向下滚动
- 如何在Angular JS中滚动显示元素
- fullpage.js在滚动时更改滚动方向
- JS/CSS:如何在向下滚动超过1200像素(高度)后更改z索引值
- Javascript-Nightmare.JS无限滚动操作
- Sammy.js缓存和滚动位置时,返回历史
- 如何使用鼠标滚动控制fullPage.js垂直滑块
- 平滑滚动js不滚动
- 自动滚动JS幻灯片不起作用
- JS加载顺序 - 滚动JS禁用,回调解决方案,或者更简单
- 如何使用航点无限滚动.js
- 触摸板上的双指滚动js
- 带骨干的无限滚动js