<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
</head>
<style type="text/css">
.box{
width:100%;
height: 100%;
position: fixed;
margin:auto;
top: 0;
left: 0;
right:0;
bottom: 0;
background: red;
opacity: 0.6;
color: black;
}
</style>
<body>
<div class="box" id="box">dssdfsdfsdffffffffffffffffffffffffffffffffs</div>
</body>
<script type="text/javascript">
function _touch(){
var startx;//让startx在touch事件函数里是全局性变量。
var endx;
var el=document.getElementById('box');
function cons(){ //独立封装这个事件可以保证执行顺序,从而能够访问得到应该访问的数据。
console.log(starty,endy);
//var l=Math.abs(startx-endx);
//var h=Math.abs(starty-endy);
//if(l>h){
//x事件
//if(startx>endx){
//alert('left');
//}else{
//alert('right');
//}
//}else{
//y事件
//if(starty>endy){
//alert('top');
//}else{
//alert('bottom');
//}
//}
if(startx>endx){ //判断左右移动程序
alert('left');
}else{
alert('right');
}
}
el.addEventListener('touchstart',function(e){
var touch=e.changedTouches;
startx=touch[0].clientX;
starty=touch[0].clientY;
});
el.addEventListener('touchend',function(e){
var touch=e.changedTouches;
endx=touch[0].clientX;
endy=touch[0].clientY;
cons(); //startx endx 的数据收集应该放在touchend事件后执行,而不是放在touchstart事件里执行,这样才能访问到touchstart和touchend这2个事件产生的startx和endx数据。另外startx和endx在_touch事件函数里是全局性的,所以在此函数中都可以访问得到,所以只需要注意事件执行的先后顺序即可。
});
}
_touch()
</script>
</html>
滑动事件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.解决事件冲突的主要思路 1.down事件首先会传递到onInterceptTouchEvent()方法 2.如...
- 原文地址: JavaScript实现监听移动端上下左右滑动事件 Introduction最近刚入坑web前端,学了...
- android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的...