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判断选择的时间是否大于今天的代码
Aug 20 Javascript
对table和ul实现js分页示例分享
Feb 24 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
Aug 27 Javascript
JQuery select(下拉框)操作方法汇总
Apr 15 Javascript
js库Modernizr的介绍和使用
May 07 Javascript
js创建jsonArray传输至后台及后台全面解析
Apr 11 Javascript
浅谈js和css内联外联注意事项
Jun 30 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
详细介绍RxJS在Angular中的应用
Sep 23 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 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 mysql Errcode: 28 终极解决方法
2009/07/01 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
PHP PDO操作总结
2014/11/17 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
script标签属性用type还是language
2015/01/21 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
python实现批量改文件名称的方法
2015/05/25 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
python实现接口并发测试脚本
2019/06/25 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
python有几个版本
2020/06/17 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
工程招投标邀请书
2014/01/30 职场文书
教师党员公开承诺书
2014/03/25 职场文书
开学寄语大全
2014/04/08 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
视光学专业自荐信
2014/06/24 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL