//判断滑动的方向
const glideDirection = ({fu, fd, fl, fr}) => {
let startX = null;
let startY = null;
let time;
return function(e) {
//获取滑动屏幕时的X,Y
const touch = e.changedTouches[0];
if(!startX) {
startX = touch.pageX;
startY = touch.pageY;
}
if(time) clearTimeout(time);
time = setTimeout(() => {
//获取滑动距离
let distanceX = touch.pageX - startX;
let distanceY = touch.pageY - startY;
//判断滑动方向
if(fr && Math.abs(distanceX)>Math.abs(distanceY) && distanceX>0){
// console.log('往右滑动');
fr()
}else if( fl && Math.abs(distanceX)>Math.abs(distanceY) && distanceX<0){
// console.log('往左滑动');
fl()
}else if(fu && Math.abs(distanceX)<Math.abs(distanceY) && distanceY<0){
// console.log('往上滑动');
fu()
}else if(fd && Math.abs(distanceX)<Math.abs(distanceY) && distanceY>0){
// console.log('往下滑动');
fd()
}
startX = null;
onTouchMove事件实现H5上下左右滚动
最新推荐文章于 2026-04-29 05:47:53 发布
本文探讨了在H5中利用原生onTouchMove事件来实现页面的上下左右滚动,考虑到部分机型可能存在的兼容性问题,作者分享了自己的实践经验和注意事项,期待资深开发者提供反馈和建议。

1005

被折叠的 条评论
为什么被折叠?



