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 相关文章推荐
理解JSON:3分钟课程
Oct 28 Javascript
浅谈JavaScript字符集
May 22 Javascript
DOM基础教程之事件类型
Jan 20 Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
Apr 30 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
Jul 09 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
Mar 05 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
vue实现列表拖拽排序的功能
Nov 02 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读取目录下所有文件的代码
2008/01/07 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
js 解析 JSON 数据简单示例
2020/04/21 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
Django Rest framework频率原理与限制
2019/07/26 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
python中的逆序遍历实例
2019/12/25 Python
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
微观物理专业自荐信
2014/01/26 职场文书
优秀员工评语
2014/02/10 职场文书
大学四年个人自我小结
2014/03/05 职场文书
品质主管岗位职责
2014/03/16 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python