javascript 判断屏幕划动的方法有:touchmove 事件监听器pointermove 事件监听器requestanimationframe 循环hammer.js 库(提供 pan 事件监听器)
JS 如何判断屏幕划动
判断屏幕是否划动的 JavaScript 方法有多种。
1. touchmove 事件监听器
最常见的方法是使用 touchmove 事件监听器。该事件会在用户在触摸屏上移动手指时触发。
document.addEventListener('touchmove', (event) => { // 屏幕正在划动 });
2. pointermove 事件监听器
pointermove 事件监听器与 touchmove 类似,但适用于鼠标、触摸屏和笔等所有类型的指针设备。
document.addEventListener('pointermove', (event) => { // 屏幕正在划动 });
3. requestAnimationFrame 循环
另一种方法是使用 requestAnimationFrame 循环,该循环会以高频率调用回调函数。在回调函数中,可以检查 pageX 和 pageY 属性来确定手指或指针的位置是否发生了变化。
const rafLoop = requestAnimationFrame(loop); function loop() { // 检查手指或指针的位置是否发生了变化 if (pageX !== previousPageX || pageY !== previousPageY) { // 屏幕正在划动 } previousPageX = pageX; previousPageY = pageY; rafLoop = requestAnimationFrame(loop); }
4. Hammer.js 库
Hammer.js 是一个用于检测手势和触碰事件的库。可以使用它提供的 pan 事件监听器来判断屏幕是否划动。
const hammertime = new Hammer(element); hammertime.get('pan').set({ direction: Hammer.DIRECTION_ALL }); hammertime.on('pan', (event) => { // 屏幕正在划动 });
根据您的特定需求,选择最适合的方法。