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 相关文章推荐
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
详解Jquery实现ready和bind事件
Apr 14 Javascript
老生常谈 js中this的指向
Jun 30 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
Sep 25 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
小程序封装wx.request请求并创建接口管理文件的实现
Apr 29 Javascript
layui实现给某一列加点击事件
Oct 26 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 Javascript
vue实现登录功能
Dec 31 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
smarty表格换行实例
2014/12/15 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python实现Const详解
2015/01/27 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python深入06——python的内存管理详解
2016/12/07 Python
python数据结构之链表的实例讲解
2017/07/25 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
代码实例讲解python3的编码问题
2019/07/08 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
python输出pdf文档的实例
2020/02/13 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
培训主管的岗位职责
2013/11/23 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
博士生求职信
2014/07/06 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
规范化管理年活动总结
2014/08/29 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书