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 getElementsByName()的用法说明
Jul 31 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
JS实现商品倒计时实现代码
May 03 Javascript
基于jquery的simpleValidate简易验证插件
Jan 31 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
javascript强制点击广告的方法
Feb 06 Javascript
深入php面向对象、模式与实践
Feb 16 Javascript
javascript中Number的方法小结
Nov 21 Javascript
JavaScript易错知识点整理
Dec 05 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
原生js封装添加class,删除class的实例
Nov 06 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 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 Undefined index和Undefined variable的解决方法
2008/03/27 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
js实现div的切换特效上一个下一个
2014/02/11 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python numpy 常用函数总结
2017/12/07 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
python的dict判断key是否存在的方法
2020/12/09 Python
python opencv肤色检测的实现示例
2020/12/21 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
大课间活动制度
2014/01/18 职场文书
销售开票员岗位职责
2015/04/15 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
pandas数值排序的实现实例
2021/07/25 Python
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python