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 选择器使用说明介绍
Apr 18 Javascript
zTree插件之单选下拉菜单实例代码
Nov 07 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
js实现星星打分效果的方法
Jul 05 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
Sep 19 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 Javascript
JavaScript常见事件处理程序实例总结
Jan 05 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 jQuery
vue-cli3使用 DllPlugin 实现预编译提升构建速度
Apr 24 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
vue-cli 3 全局过滤器的实例代码详解
Jun 03 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
php防止sql注入简单分析
2015/03/18 PHP
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python定时执行之Timer用法示例
2015/05/27 Python
python入门教程之识别验证码
2017/03/04 Python
Python可变参数用法实例分析
2017/04/02 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python的互斥锁与信号量详解
2019/09/12 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python redis存入字典序列化存储教程
2020/07/16 Python
几道PHP面试题
2013/04/14 面试题
出纳的岗位职责
2013/11/09 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
会计毕业生自荐书
2014/06/12 职场文书
授权委托书格式
2014/07/31 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
员工自我工作评价
2015/03/06 职场文书
2015年采购员工作总结
2015/04/27 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python
判断Python中的Nonetype类型
2021/05/25 Python