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 相关文章推荐
关于__defineGetter__ 和__defineSetter__的说明
May 12 Javascript
jquery pagination插件实现无刷新分页代码
Oct 13 Javascript
7个Javascript地图脚本整理
Oct 20 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
Aug 22 Javascript
JavaScipt中栈的实现方法
Feb 17 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 Javascript
vue中三级导航的菜单权限控制
Mar 31 Vue.js
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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python实现的简单万年历例子分享
2014/04/25 Python
Python实现句子翻译功能
2017/11/14 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
python range实例用法分享
2020/02/06 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
Python实现汇率转换操作
2020/05/03 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
教师节标语大全
2014/10/07 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL