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 相关文章推荐
动态获取复选框checkbox选中个数的jquery代码
Jun 25 Javascript
script不刷新页面的联动前后代码
Sep 18 Javascript
Javascript变量作用域详解
Dec 06 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
JavaScript函数定义的常见注意事项小结
Sep 16 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 Javascript
详解Node全局变量global模块
Sep 28 Javascript
Three.js基础学习教程
Nov 16 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
Jul 18 Javascript
JavaScript常用数组操作方法,包含ES6方法
May 10 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
搜索引擎技术核心揭密
2006/10/09 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
JS获取时间的方法
2015/01/21 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
javascript如何创建对象
2016/08/29 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
Python不规范的日期字符串处理类
2014/06/10 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Python实现简单http服务器
2018/04/12 Python
Random 在 Python 中的使用方法
2018/08/09 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
python 绘制正态曲线的示例
2020/09/24 Python
结婚邀请函范文
2014/01/14 职场文书
《童趣》教学反思
2014/02/19 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
单位租车协议书
2015/01/29 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript