JavaScript实现移动端拖动元素
程序员文章站
2022-03-15 11:54:41
本文实例为大家分享了javascript实现移动端拖动元素的具体代码,供大家参考,具体内容如下实现效果:请切换到移动端页面查看!代码实现:
本文实例为大家分享了javascript实现移动端拖动元素的具体代码,供大家参考,具体内容如下
实现效果:
请切换到移动端页面查看!
代码实现:
<!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; // 获取手指初始坐标 var starty = 0; var x = 0; // 获得盒子原来的位置 var y = 0; // 手指触摸 div.addeventlistener('touchstart', function(e) { // 获取手指初始坐标 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) { // 计算手指的移动距离:手指移动之后的坐标减去手指初始的坐标 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(); // 阻止屏幕滚动的默认行为 }); </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。