function touches(obj,direction,fun){
//obj:ID对象
//direction:swipeleft,swiperight,swipetop,swipedown,singleTap,touchstart,touchmove,touchend
// 划左, 划右, 划上, 划下,点击, 开始触摸, 触摸移动, 触摸结束
//fun:回调函数
var defaults = {x: 5,y: 5,ox:0,oy:0,nx:0,ny:0};
direction=direction.toLowerCase();
//配置:划的范围在5X5像素内当点击处理
obj.addEventListener("touchstart",function() {
defaults.ox = event.targetTouches[0].pageX;
defaults.oy = event.targetTouches[0].pageY;
defaults.nx = defaults.ox;
defaults.ny = defaults.oy;
if(direction.indexOf("touchstart")!=-1)fun();
}, false);
obj.addEventListener("touchmove",function() {
event.preventDefault();
defaults.nx = event.targetTouches[0].pageX;
defaults.ny = event.targetTouches[0].pageY;
if(direction.indexOf("touchmove")!=-1)fun();
}, false);
obj.addEventListener("touchend",function() {
var changeY = defaults.oy - defaults.ny;
var changeX = defaults.ox - defaults.nx;
if(Math.abs(changeX)>Math.abs(changeY)&&Math.abs(changeY)>defaults.y){
//左右事件
if(changeX > 0) {
if(direction.indexOf("swipeleft")!=-1)fun();
}else{
if(direction.indexOf("swiperight")!=-1)fun();
}
}else if(Math.abs(changeY)>Math.abs(changeX)&&Math.abs(changeX)>defaults.x){
//上下事件
if(changeY > 0) {
if(direction.indexOf("swipetop")!=-1)fun();
}else{
if(direction.indexOf("swipedown")!=-1)fun();
}
}else{
//点击事件
if(direction.indexOf("singleTap")!=-1)fun();
}
if(direction.indexOf("touchend")!=-1)fun();
}, false);
}
手机端判断手指左右上下滑动
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 首先,很尴尬、失落的吐槽一下:本菜鸟不知道怎么上传GIF,所以效果图只能用图片简单描述。 先简单描述需求:1、最常...