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 EasyUI API 中文文档 - Panel面板
Sep 30 Javascript
jquery批量设置属性readonly和disabled的方法
Jan 24 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
js如何打印object对象
Oct 16 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
Dec 04 Javascript
JavaScript仿微信打飞机游戏
Jul 05 Javascript
详解cordova打包成webapp的方法
Oct 18 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
Feb 08 Javascript
vue 引用自定义ttf、otf、在线字体的方法
May 09 Javascript
使用JS实现动态时钟
Mar 12 Javascript
javascript实现获取中文汉字拼音首字母
May 19 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
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
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
Python Matplotlib库入门指南
2015/05/18 Python
Python 中pandas.read_excel详细介绍
2017/06/23 Python
简单实现python收发邮件功能
2018/01/05 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
高中语文教学反思
2014/01/16 职场文书
网络工程师职业规划
2014/02/10 职场文书
工作收入证明模板
2014/10/10 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
人工作失职检讨书
2015/05/05 职场文书
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
MySQL创建管理HASH分区
2022/04/13 MySQL