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 相关文章推荐
js调用flash的效果代码
Apr 26 Javascript
jquery js 获取时间差、时间格式具体代码
Jun 05 Javascript
javascript面向对象之对象的深入理解
Jan 13 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
Jul 04 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
node+koa实现数据mock接口的方法
Sep 20 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
Dec 09 Javascript
jQuery替换节点元素的操作方法
Mar 18 jQuery
详解Vue3 Composition API中的提取和重用逻辑
Apr 29 Javascript
小程序实现筛子抽奖
May 26 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
DISCUZ 分页代码
2007/01/02 PHP
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
React如何避免重渲染
2018/04/10 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python交互界面的退出方法
2019/02/16 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
上市公司财务总监岗位职责
2015/04/03 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书