2020-08-10

移动端拖拽

说明

先为需要进行拖拽的元素添加相对于父元素的定位属性,之后调用封装好的元素即可,废话不多说,下面看事例。

html

 <img class="service" id="div1" src="./images/product-adv3.png" alt="">

css

  .service{      
	  width: 50px;      
	  height: 50px;      
	  position: absolute;      
	  left: 80%;      
	  top: 480px;      
	  z-index: 1000; 
}

js

//拖拽
function tDrag() {    
	var oDiv = document.getElementById('div1');
	var disX, moveX, L, T, starX, starY, starXEnd, starYEnd;
	oDiv.addEventListener('touchstart', function (e) {        
		//e.preventDefault();
		disX = e.touches[0].clientX - this.offsetLeft;        
		disY = e.touches[0].clientY - this.offsetTop;        
		starX = e.touches[0].clientX;       
		 starY = e.touches[0].clientY;    });    
		 oDiv.addEventListener('touchmove', function (e) {        
			 e.preventDefault()        
			 L = e.touches[0].clientX - disX;        
			 T = e.touches[0].clientY - disY;        
			 starXEnd = e.touches[0].clientX - starX;        
			 starYEnd = e.touches[0].clientY - starY;        
			 //console.log(L);        
			 if (L < 0) {            
			 L = 0;        
			 } else if (L > document.documentElement.scrollWidth - this.offsetWidth) 
			{            
			 L = document.documentElement.scrollWidth - this.offsetWidth;       
			  }
			 if (T < 0) {            
			 T = 0;       
			  } else if (T > document.documentElement.scrollHeight - this.offsetHeight) {            
			  T = document.documentElement.scrollHeight - this.offsetHeight;        
			  }        
			  moveX = L + 'px';        
			  moveY = T + 'px';        
			  //console.log(moveX);       
			   this.style.left = moveX;        
			   this.style.top = moveY;    
		 });	
	}

如果你觉得有用请为我点赞噢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值