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 程序库的比较(一)之DOM功能
Apr 07 Javascript
JQUERY dialog的用法详细解析
Dec 19 Javascript
js 针对html DOM元素操作等经验累积
Mar 11 Javascript
JQuery1.8 判断元素是否绑定事件的方法
Jul 10 Javascript
JavaScript学习笔记之JS函数
Jan 22 Javascript
基于jquery实现轮播特效
Apr 22 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 Javascript
解决vue项目打包后提示图片文件路径错误的问题
Jul 04 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/11/25 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
python爬虫工具例举说明
2020/11/30 Python
绝对经典成功的大学生推荐信
2013/11/08 职场文书
结构工程个人自荐信范文
2013/11/30 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
青年教师个人总结
2015/02/11 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
Python序列化与反序列化相关知识总结
2021/06/08 Python
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏