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 相关文章推荐
根据分辨率不同,调用不同的css文件
Jul 07 Javascript
javascript不同页面传值的改进版
Sep 30 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 Javascript
jquery下checked取值问题的解决方法
Aug 09 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
jQuery实现的导航下拉菜单效果
Jul 04 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
Dec 24 Javascript
javaScript 逻辑运算符使用技巧整理
May 03 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
AngularJS路由Ui-router模块用法示例
May 29 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
基于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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php桥接模式应用案例分析
2019/10/23 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
2013/12/24 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
vuex存储token示例
2019/11/11 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python正则实现计算器功能
2017/12/14 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python 忽略warning的输出方法
2018/10/18 Python
关于Python作用域自学总结
2019/06/10 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
python 实现二维列表转置
2019/12/02 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
经贸日语专业个人求职信
2013/12/13 职场文书
感谢信的格式
2015/01/21 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书