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
Aug 13 Javascript
学习ExtJS(一) 之基础前提
Oct 07 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
jQuery制作仿腾讯web qq用户体验桌面
Aug 20 Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
使用vue-aplayer插件时出现的问题的解决
Mar 02 Javascript
原生js实现拖拽功能基本思路详解
Apr 18 Javascript
Vue2实时监听表单变化的示例讲解
Aug 30 Javascript
JavaScript循环遍历你会用哪些之小结篇
Sep 28 Javascript
微信小程序HTTP接口请求封装的实现
Feb 21 Javascript
echarts饼图各个板块之间的空隙如何实现
Dec 01 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
新锐科技Java程序员面试题
2016/07/25 面试题
六十大寿答谢词
2014/01/12 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android