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 相关文章推荐
又一个小巧的图片预加载类
May 05 Javascript
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
优化 JavaScript 代码的方法小结
Jul 16 Javascript
Date对象格式化函数代码
Jul 17 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
使用node.js对音视频文件加密的实例代码
Aug 30 Javascript
浅谈React Native 中组件的生命周期
Sep 08 Javascript
小程序scroll-view组件实现滚动的示例代码
Sep 20 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木马webshell扫描器代码
2012/01/25 PHP
php基础教程
2015/08/26 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
javascript 禁止复制网页
2009/06/11 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
Python continue语句用法实例
2014/03/11 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
python实现人像动漫化的示例代码
2020/05/17 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
放飞梦想演讲稿600字
2014/08/26 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
个园导游词
2015/02/04 职场文书
加薪申请报告范本
2015/05/15 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
新党员入党决心书
2015/09/22 职场文书