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
Nov 25 Javascript
基于jquery跨浏览器显示的file上传控件
Oct 24 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
jQuery插件开发的五种形态小结
Mar 04 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
jQuery进行组件开发完整实例
Dec 15 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
Vue框架之goods组件开发详解
Jan 25 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
uni-app如何页面传参数的几种方法总结
Apr 28 Javascript
javascript条件式访问属性和箭头函数介绍
Nov 17 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查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
非主流的textarea自增长实现js代码
2011/12/20 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
python利用lxml读写xml格式的文件
2017/08/10 Python
用python实现将数组元素按从小到大的顺序排列方法
2018/07/02 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
如何用python批量调整视频声音
2020/12/22 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
会计自我鉴定范文
2013/10/06 职场文书
岗位竞聘书范文
2014/03/31 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
庆六一宣传标语
2014/10/08 职场文书
党支部培养考察意见
2015/06/02 职场文书
赞助商致辞
2015/07/30 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
高二数学教学反思
2016/02/18 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript