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、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
jQuery中height()方法用法实例
Dec 24 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 Javascript
js严格模式总结(分享)
Aug 22 Javascript
用js实现简单算法的实例代码
Sep 24 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
Angularjs单选改为多选的开发过程及问题解析
Feb 17 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
Jun 11 Javascript
详解vue-cli 2.0配置文件(小结)
Jan 14 Javascript
JS图片预加载三种实现方法解析
May 08 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
手写Spirit防抖函数underscore和节流函数lodash
Mar 22 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
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
html数组字符串拼接的最快方法
2009/09/16 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
js创建数组的简单方法
2016/07/27 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
Django Rest framework之权限的实现示例
2018/12/17 Python
python pandas时序处理相关功能详解
2019/07/03 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
简单了解python协程的相关知识
2019/08/31 Python
在python中使用nohup命令说明
2020/04/16 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
建筑节能汇报材料
2014/08/22 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
个人存款证明书
2014/10/18 职场文书
行政助理岗位职责
2015/02/10 职场文书
孝女彩金观后感
2015/06/10 职场文书
生日赠语
2015/06/23 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis