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 同时在IE和FireFox获取KeyCode的代码
Feb 07 Javascript
JavaScript实现自动变换表格边框颜色
May 08 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
jquery实现多条件筛选特效代码分享
Aug 28 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
在html中引入外部js文件,并调用带参函数的方法
Oct 31 Javascript
基于vue2实现上拉加载功能
Nov 28 Javascript
JS实现去除数组中重复json的方法示例
Dec 21 Javascript
完美解决axios跨域请求出错的问题
Feb 05 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 26 Javascript
Angular如何由模板生成DOM树的方法
Dec 23 Javascript
微信小程序实现音乐播放页面布局
Dec 11 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利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
js TextArea的选中区域处理
2010/12/28 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
python实现socket端口重定向示例
2014/02/10 Python
python中__call__方法示例分析
2014/10/11 Python
python有证书的加密解密实现方法
2014/11/19 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
《黄河颂》教学反思
2014/02/07 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
员工安全生产承诺书
2014/05/22 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL