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 相关文章推荐
JavaScript打开word文档的实现代码(c#)
Apr 16 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
Dec 09 Javascript
jQuery判断checkbox是否选中的小例子
Dec 02 Javascript
JavaScript学习笔记之Function对象
Jan 22 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
Oct 21 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
vue.js实现表格合并示例代码
Nov 30 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
vue $set 给数据赋值的实例
Nov 09 Javascript
小程序组件传值和引入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 中的一些经验积累
2006/10/09 PHP
树型结构列出指定目录里所有文件的PHP类
2006/10/09 PHP
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
php输入流php://input使用浅析
2014/09/02 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Python排序算法实例代码
2017/08/10 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
英文求职信结束语大全
2013/10/26 职场文书
管理科学大学生求职信
2013/11/13 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
社区党务公开实施方案
2014/03/18 职场文书
优秀广告词大全
2014/03/19 职场文书
委托书格式
2014/08/01 职场文书
学校交通安全责任书
2014/08/25 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
购房个人委托书范本
2014/10/11 职场文书
考研英语复习计划
2015/01/19 职场文书
神龙架导游词
2015/02/11 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
四则混合运算教学反思
2016/02/23 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python