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 相关文章推荐
jquery select下拉框操作的一些说明
Apr 02 Javascript
动态创建样式表在各浏览器中的差异测试代码
Sep 13 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
Oct 29 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
javascript添加前置0(补零)的几种方法
Jan 05 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
详解基于Vue的支持数据双向绑定的select组件
Sep 02 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 27 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
Nov 12 Javascript
处理canvas绘制图片模糊问题
May 11 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
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
JS event使用方法详解
2008/04/28 Javascript
javascript CSS画图之基础篇
2009/07/29 Javascript
javascript调试说明
2010/06/07 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
python抓取京东商城手机列表url实例代码
2013/12/18 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
解析Python中while true的使用
2015/10/13 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
Douglas意大利官网:购买香水和化妆品
2020/05/27 全球购物
你对IPv6了解程度
2016/02/09 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
高考自主招生自荐信
2013/10/20 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
基层党建工作简报
2015/07/21 职场文书