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跨页面保存变量做菜单的方法
Jan 17 Javascript
JS 分号引起的一段调试问题
Jun 18 Javascript
javascript 面向对象编程 function也是类
Sep 17 Javascript
JS通过相同的name进行表格求和代码
Aug 18 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
js验证电话号码与手机支持+86的正则表达式
Jan 23 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
JavaScript你不知道的一些数组方法
Aug 18 Javascript
three.js中3D视野的缩放实现代码
Nov 16 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
Nov 30 Javascript
js绘制一条直线并旋转45度
Aug 21 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
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
wxPython中文教程入门实例
2014/06/09 Python
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
学校安全教育制度
2014/01/31 职场文书
放假通知格式
2015/04/14 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
Python机器学习之基础概述
2021/05/19 Python
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
JavaScript流程控制(分支)
2021/12/06 Javascript
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js
Python实现信息管理系统
2022/06/05 Python
Nginx跨域问题解析与解决
2022/08/05 Servers