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 相关文章推荐
向fckeditor编辑器插入指定代码的方法
May 25 Javascript
json 定义
Jun 10 Javascript
经典海量jQuery插件 大家可以收藏一下
Feb 07 Javascript
jquery选择器(常用选择器说明)
Sep 28 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
Jan 25 Javascript
JS模板实现方法
Apr 03 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
Mar 19 Javascript
JavaScript实现Base64编码转换
Apr 23 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
js遍历map javaScript遍历map的简单实现
Aug 26 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 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 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
简单了解python的内存管理机制
2019/07/08 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
keras 读取多标签图像数据方式
2020/06/12 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
远程研修随笔感言
2014/02/10 职场文书
民事代理词范文
2015/05/25 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Python实现抖音热搜定时爬取功能
2022/03/16 Python