左右滑动事件的绑定

很多时候需要判断上下左右滑动的事件,比如最近很多的小游戏,“消消乐”

需要将一个滑块左右拖动,或者上下拖动

<h1>拖动事件</h1>
	<ul id="ul" style="width:306px;">
	<li><div></div></li>
	<li><div></div></li>
	<li><div></div></li>
	<li><div></div></li>
	<li><div></div></li>
	<li><div></div></li>
	<ul>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<style>
 li{
	list-style:none;
 }
 div{
	display:block;
	border:1px solid red;
	width:100px;
	height:100px;
	float:left;
 }
</style>
<script>
bindTouch();
function bindTouch(){//绑定touch事件
	var startX = 0;
	var startY = 0;
	var This = this;
	var izIndex = 2;
	var startThis = null;
	this.oUl=$("ul");
	this.oUl.delegate("li","touchstart mousedown",function(event){
		var data=event.originalEvent.changedTouches?event.originalEvent.changedTouches[0]:event;
		startX = data.clientX;
		startY = data.clientY;
		startThis = this;
		return false;
	});
	this.oUl.delegate("li","touchend mouseup",function(event){
		
		var data=event.originalEvent.changedTouches?event.originalEvent.changedTouches[0]:event;
		if((Math.abs(startX-data.clientX)>10)||(Math.abs(startY-data.clientY)>10)){
			$(startThis).css("zIndex",izIndex++);
			
			//左右
			if(Math.abs(startX-data.clientX)>Math.abs(startY-data.clientY)){
				if(startX<data.clientX){//→
					//todo 右滑事件
					alert("右滑→");
				}else{//←
					//todo 左滑事件
					alert("左滑←");
				}
			}
			//上下
			else{
				if(startY<data.clientY){//↓
					//todo  下滑事件
					alert("下滑↓");
				}else{//↑
					//todo 上滑事件
					alert("上滑↑");
				}
			}
		}
	});
}
</script>

  

效果:

 

 

posted on 2019-03-19 16:03  乌云上  阅读(189)  评论(0编辑  收藏  举报

导航