javascript实现移动端触屏拖拽功能


Posted in Javascript onJuly 29, 2020

本文实例为大家分享了javascript实现移动端触屏拖拽的具体代码,供大家参考,具体内容如下

HTML:

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

CSS:

<style media="screen">
    * {
      margin: 0;
      padding: 0;
    }
    html,body {
      width: 100%;
      height:100%;
    }
    #div1 {
      width: 50px;
      height: 50px;
      background: cyan;
      position: absolute;
    }
</style>

JS:

<script type="text/javascript">
     var div1=document.querySelector('#div1');
     var maxW=document.body.clientWidth-div1.offsetWidth;
     var maxH=document.body.clientHeight-div1.offsetHeight;
 
  div1.addEventListener('touchstart',function(e){
    var ev = e || window.event;
    var touch = ev.targetTouches[0];
    oL = touch.clientX - div1.offsetLeft;
    oT = touch.clientY - div1.offsetTop;
    document.addEventListener("touchmove",defaultEvent,false);
  })
 
 
  div1.addEventListener('touchmove',function(e){
    var ev = e || window.event;
    var touch = ev.targetTouches[0];
    var oLeft = touch.clientX - oL;
    var oTop = touch.clientY - oT;
    if(oLeft<0){
      oLeft=0;
    }else if (oLeft>=maxW) {
      oLeft=maxW;
    }
    if(oTop<0){
      oTop=0;
    }else if (oTop>=maxH) {
      oTop=maxH;
    }
 
    div1.style.left = oLeft + 'px';
    div1.style.top = oTop + 'px';
 
  })
  div1.addEventListener('touchend',function(){ 
    document.removeEventListener("touchmove",defaultEvent);
  })
  function defaultEvent(e) {
 
 
    e.preventDefault();
   }
</script>

说明 :

maxW:div1可移动的最大宽度
maxH:div1可移动的最大高度
oL、oT:鼠标所点位置的坐标

效果:

javascript实现移动端触屏拖拽功能

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

Javascript 相关文章推荐
jquery插件制作 自增长输入框实现代码
Aug 17 jQuery
jquery获得option的值和对option进行操作
Dec 13 Javascript
js实现页面跳转重定向的几种方式
May 29 Javascript
JavaScript获取网页表单action属性的方法
Apr 02 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
jQuery自定义多选下拉框效果
Jun 19 jQuery
pace.js和NProgress.js两个加载进度插件的一点小总结
Jan 31 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
Aug 27 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
jQuery实现简易聊天框
Feb 08 jQuery
JS手写一个自定义Promise操作示例
Mar 16 Javascript
JS Object构造函数之Object.freeze
Apr 28 Javascript
Vue实现移动端拖拽交换位置
Jul 29 #Javascript
vue和H5 draggable实现拖拽并替换效果
Jul 29 #Javascript
vue同个按钮控制展开和折叠同个事件操作
Jul 29 #Javascript
JavaScript编写开发动态时钟
Jul 29 #Javascript
js编写简易的计算器
Jul 29 #Javascript
从0到1学习JavaScript编写贪吃蛇游戏
Jul 28 #Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 #Javascript
You might like
十天学会php之第九天
2006/10/09 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Python中集合类型(set)学习小结
2015/01/28 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python装饰器简单用法实例小结
2018/12/03 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
市场营销方案范文
2014/03/11 职场文书
岗位说明书标准范本
2014/07/30 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis