javascript实现移动端上的触屏拖拽功能


Posted in Javascript onMarch 04, 2016

本文是分享了javascript实现移动端上的触屏拖拽功能,具体内容如下

效果图:

javascript实现移动端上的触屏拖拽功能

实现代码:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title></title>
 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
 <style>
  body {
  height: 2000px;
  }
  #block {
  width:200px;
  height:200px;
  background-color: red;
  position: absolute;
  left: 0;
  top: 0;
  }
 </style>
 </head>
 <body>
 <div>
  touchstart,touchmove,
  touchend,touchcancel
 </div>
 <div id="block"></div>
<script>
 // 获取节点
 var block = document.getElementById("block");
 var oW,oH;
 // 绑定touchstart事件
 block.addEventListener("touchstart", function(e) {
  console.log(e);
  var touches = e.touches[0];
  oW = touches.clientX - block.offsetLeft;
  oH = touches.clientY - block.offsetTop;
  //阻止页面的滑动默认事件
  document.addEventListener("touchmove",defaultEvent,false);
 },false)

 block.addEventListener("touchmove", function(e) {
  var touches = e.touches[0];
  var oLeft = touches.clientX - oW;
  var oTop = touches.clientY - oH;
  if(oLeft < 0) {
  oLeft = 0;
  }else if(oLeft > document.documentElement.clientWidth - block.offsetWidth) {
  oLeft = (document.documentElement.clientWidth - block.offsetWidth);
  }
  block.style.left = oLeft + "px";
  block.style.top = oTop + "px";
 },false);
 
 block.addEventListener("touchend",function() {
  document.removeEventListener("touchmove",defaultEvent,false);
 },false);
 function defaultEvent(e) {
  e.preventDefault();
 }
</script>
 </body>
</html>

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
一些有关检查数据的JS代码
Sep 07 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
jquery 选择器引擎sizzle浅析
Feb 06 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
JavaScript中的toDateString()方法使用详解
Jun 12 Javascript
js实现Select头像选择实时预览代码
Aug 17 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
May 03 Javascript
vue项目中使用百度地图的方法
Jun 08 Javascript
vue两个组件间值的传递或修改方式
Jul 04 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 Javascript
基于zepto的移动端轻量级日期插件--date_picker
Mar 04 #Javascript
基于Javascript实现二级联动菜单效果
Mar 04 #Javascript
jquery ajax双击div可直接修改div中的内容
Mar 04 #Javascript
js实现文字滚动效果
Mar 03 #Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
Mar 03 #Javascript
JQuery日期插件datepicker的使用方法
Mar 03 #Javascript
jQuery日历插件datepicker用法详解
Mar 03 #Javascript
You might like
有关PHP中MVC的开发经验分享
2012/05/17 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
javascript 全等号运算符使用说明
2010/05/31 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
python批量下载图片的三种方法
2013/04/22 Python
Python的装饰器使用详解
2017/06/26 Python
python制作小说爬虫实录
2017/08/14 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
一文读懂Python 枚举
2020/08/25 Python
python通过cython加密代码
2020/12/11 Python
学生发电厂实习自我鉴定
2013/09/22 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
户外宣传策划方案
2014/05/25 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
家长通知书家长意见
2014/12/30 职场文书
出纳试用期自我评价
2015/03/10 职场文书
贷款收入证明范本
2015/06/12 职场文书
湘江北去观后感
2015/06/15 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server