js实现适配移动端的拖动效果


Posted in Javascript onJanuary 13, 2020

本文实例为大家分享了js实现适配移动端的拖动效果,供大家参考,具体内容如下

1.html

<div id="div1">
 <div id="div2"></div>
</div>

2.js

var flag = false;
var cur = {
 x: 0,
 y: 0
 }
 var nx, ny, dx, dy, x, y;
 
 function down() {
 flag = true;
 var touch;
 if(event.touches) {
 touch = event.touches[0];
  } else {
  touch = event;
 }
 cur.x = touch.clientX;
 cur.y = touch.clientY;
 dx = div2.offsetLeft;
 dy = div2.offsetTop;
 }
 
 function move() {
 if(flag) {
  var touch;
  if(event.touches) {
  touch = event.touches[0];
  } else {
  touch = event;
  }
  nx = touch.clientX - cur.x;
  ny = touch.clientY - cur.y;
  x = dx + nx;
  y = dy + ny;
  div2.style.left = x + "px";
  div2.style.top = y + "px";
  //阻止页面的滑动默认事件
  document.addEventListener("touchmove", function() {
  event.preventDefault();
  }, false);
 }
 }
 //鼠标释放时候的函数
 function end() {
 flag = false;
 }
 var div2 = document.getElementById("div2");
 div2.addEventListener("mousedown", function() {
 down();
 }, false);
 div2.addEventListener("touchstart", function() {
 down();
 }, false)
 div2.addEventListener("mousemove", function() {
 move();
 }, false);
 div2.addEventListener("touchmove", function() {
 move();
 }, false)
 document.body.addEventListener("mouseup", function() {
 end();
 }, false);
 div2.addEventListener("touchend", function() {
 end();
}, false);

效果:

js实现适配移动端的拖动效果

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

Javascript 相关文章推荐
Javascript 阻止javascript事件冒泡,获取控件ID值
Jun 27 Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
使用js检测浏览器的实现代码
May 14 Javascript
浅谈javascript面向对象程序设计
Jan 21 Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 Javascript
浅谈javascript中的DOM方法
Jul 16 Javascript
js读取并解析JSON类型数据的方法
Nov 14 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
JavaScript数据结构与算法之链表
Jan 29 Javascript
基于React+Redux的SSR实现方法
Jul 03 Javascript
vue实现折线图 可按时间查询
Aug 21 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 Javascript
Vue 嵌套路由使用总结(推荐)
Jan 13 #Javascript
优化Vue中date format的性能详解
Jan 13 #Javascript
JS document文档的简单操作完整示例
Jan 13 #Javascript
JavaScript数组排序小程序实现解析
Jan 13 #Javascript
JS document form表单元素操作完整示例
Jan 13 #Javascript
JS校验与最终登陆界面功能完整示例
Jan 13 #Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 #Javascript
You might like
计数器详细设计
2006/10/09 PHP
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
杏林同学录(九)
2006/10/09 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
学习PHP session的传递方式
2016/06/15 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
PHP实现文件上传与下载
2020/08/28 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
WordPress JQuery处理沙发头像
2009/06/22 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
详解Python Socket网络编程
2016/01/05 Python
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
机器学习python实战之决策树
2017/11/01 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
PyQt5组件读取参数的实例
2019/06/25 Python
pandas如何处理缺失值
2019/07/31 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
python3实现高效的端口扫描
2019/08/31 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers