js 判断屏幕下拉上滑操作

var startX = startY = endX = endY = 0;

var body = document.getElementById("dind");
body.addEventListener('touchstart', function(event){
var touch = event.targetTouches[0];
//滑动起点的坐标
startX = touch.pageX;
startY = touch.pageY;
// console.log("startX:"+startX+","+"startY:"+startY);

});
body.addEventListener("touchmove", function(event) {
var touch = event.targetTouches[0];
//手势滑动时,手势坐标不断变化,取最后一点的坐标为最终的终点坐标
endX = touch.pageX;
endY = touch.pageY;
// console.log("endX:"+endX+","+"endY:"+endY);
})
body.addEventListener("touchend", function(event) {

var distanceX = endX - startX,
distanceY = endY - startY;
// console.log("distanceX:"+distanceX+","+"distanceY:"+distanceY);
//移动端设备的屏幕宽度
var clientHeight = document.documentElement.clientHeight;
// console.log(clientHeight;*0.2);
//判断是否滑动了,而不是屏幕上单击了
if(startY != Math.abs(distanceY)) {
//在滑动的距离超过屏幕高度的20%时,做某种操作
if(Math.abs(distanceY) > clientHeight * 0.2) {
//向下滑实行函数someAction1,向上滑实行函数someAction2
distanceY < 0 ? alert("xiangshang") : load();
}
}
startX = startY = endX = endY = 0;
})

后续增加下拉刷新样式

转载:https://www.cnblogs.com/lalalagq/articles/9909206.html

posted @ 2020-03-27 10:10  绯颜旧雨  阅读(710)  评论(0编辑  收藏  举报