JavaScript实现移动端拖动元素


Posted in Javascript onNovember 24, 2020

本文实例为大家分享了JavaScript实现移动端拖动元素的具体代码,供大家参考,具体内容如下

实现效果:

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery tools之tooltip
Jul 25 Javascript
Jquery 动态添加按钮实现代码
May 06 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
JS实现点击按钮后框架内载入不同网页的方法
May 05 Javascript
javascript动态创建链接的方法
May 13 Javascript
JS简单随机数生成方法
Sep 05 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
Nov 25 Javascript
浅谈Angular.js中使用$watch监听模型变化
Jan 10 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
Jul 24 Javascript
javascript中可能用得到的全部的排序算法
Mar 05 Javascript
JavaScript中的执行环境和作用域链
Sep 04 Javascript
vue引入Excel表格插件的方法
Apr 28 Vue.js
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 #Javascript
js实现抽奖功能
Nov 24 #Javascript
前端 javascript 实现文件下载的示例
Nov 24 #Javascript
如何使用 JavaScript 操作浏览器历史记录 API
Nov 24 #Javascript
JavaScript实现鼠标移入随机变换颜色
Nov 24 #Javascript
原生js实现表格循环滚动
Nov 24 #Javascript
浅析VUE防抖与节流
Nov 24 #Vue.js
You might like
PHP队列用法实例
2014/11/05 PHP
PHP中文乱码解决方案
2015/03/05 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
查找iframe里元素的方法可传参
2013/09/11 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
python写日志封装类实例
2015/06/28 Python
Python 文件管理实例详解
2015/11/10 Python
如何在python中写hive脚本
2019/11/08 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
韩国11街:11STREET
2018/03/27 全球购物
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
UNIX文件类型
2013/08/29 面试题
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
初三学习计划书范文
2014/04/30 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
完整版商业计划书
2014/09/15 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers