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读取ASP设定的COOKIE
Nov 24 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
node中koa中间件机制详解
Aug 22 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
如何去除vue项目中的#及其ie9兼容性
Jan 11 Javascript
vue 中的keep-alive实例代码
Jul 20 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
Jun 03 Javascript
layUI实现前端分页和后端分页
Jul 27 Javascript
layui内置模块layim发送图片添加加载动画的方法
Sep 23 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 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
隐性调用php程序的方法
2009/03/09 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python局部赋值的规则
2013/03/07 Python
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
python按照多个条件排序的方法
2019/02/08 Python
Django Rest framework权限的详细用法
2019/07/25 Python
tensorflow自定义激活函数实例
2020/02/04 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
大学毕业寄语大全
2014/04/10 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记