JavaScript實現(xiàn)移動端拖動元素
更新時間:2020年11月24日 15:45:26 作者:火星飛鳥
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)移動端拖動元素,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了JavaScript實現(xiàn)移動端拖動元素的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)效果:
請切換到移動端頁面查看!
代碼實現(xiàn):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body { background-color: #1cee89; } div { position: absolute; left: 0; width: 100px; height: 100px; background-color: #8294ff; border-radius: 20px; } </style> </head> <body> <div></div> <script> var div = document.querySelector('div'); var startX = 0; // 獲取手指初始坐標(biāo) var startY = 0; var x = 0; // 獲得盒子原來的位置 var y = 0; // 手指觸摸 div.addEventListener('touchstart', function(e) { // 獲取手指初始坐標(biāo) startX = e.targetTouches[0].pageX; startY = e.targetTouches[0].pageY; x = this.offsetLeft; y = this.offsetTop; this.style.boxShadow = '0 0 15px rgba(0, 0, 0, .6)'; }); // 手指離開 div.addEventListener('touchend', function(e) { this.style.boxShadow = ''; }); // 手指按住移動 div.addEventListener('touchmove', function(e) { // 計算手指的移動距離:手指移動之后的坐標(biāo)減去手指初始的坐標(biāo) var moveX = e.targetTouches[0].pageX - startX; var moveY = e.targetTouches[0].pageY - startY; // 移動盒子 盒子原來的位置 + 手指移動的距離 this.style.left = x + moveX + 'px'; this.style.top = y + moveY + 'px'; e.preventDefault(); // 阻止屏幕滾動的默認(rèn)行為 }); </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
純JavaScript代碼實現(xiàn)移動設(shè)備繪圖解鎖
為了個人信息的安全起見,移動設(shè)備上都有個繪圖解鎖,使用起來非常簡單,代碼是怎么實現(xiàn)的呢?下面小編給大家介紹js實現(xiàn)移動設(shè)備繪圖解鎖,需要的朋友可以參考下2015-10-10next.js初始化參數(shù)設(shè)置getServerSideProps應(yīng)用學(xué)習(xí)
這篇文章主要為大家介紹了next.js初始化參數(shù)設(shè)置getServerSideProps的應(yīng)用示例學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10