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 相关文章推荐
JavaScript 异步调用框架 (Part 5 - 链式实现)
Aug 04 Javascript
jquery中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
Apr 26 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
javascript表单验证大全
Aug 12 Javascript
Bootstrap风格的WPF样式
Dec 07 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
Sep 30 Javascript
vue中路由验证和相应拦截的使用详解
Dec 13 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
Dec 13 Javascript
基于Layui自定义模块的使用方法详解
Sep 14 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
php下封装较好的数字分页方法
2010/11/23 PHP
php防攻击代码升级版
2010/12/29 PHP
PHP5函数小全(分享)
2013/06/06 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
python实现决策树分类
2018/08/30 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
中学家长会邀请函
2014/02/03 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
捐资助学倡议书
2014/04/15 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书