javascript实现移动端上的触屏拖拽功能
作者:bea
本文是分享了javascript实现移动端上的触屏拖拽功能,具体内容如下 效果图: 实现代码: <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <meta name="viewport" content="width=device-width, user-scalable=no, initial-sc
本文是分享了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程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- 在AngularJS框架中处理数据建模的方式解析
- 简单讲解AngularJS的Routing路由的定义与使用
- 整理AngularJS框架使用过程当中的一些性能优化要点
- 详解JavaScript的AngularJS框架中的表达式与指令
- 深入解析AngularJS框架中$scope的作用与生命周期
- JS判断字符串字节数并截取长度的方法
- jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
- js控制TR的显示隐藏
- Node.js操作Firebird数据库教程
- 实例剖析AngularJS框架中数据的双向绑定运用
- node.js微信公众平台开发教程
- 详解JavaScript的AngularJS框架中的作用域与数据绑定
- 深入学习AngularJS中数据的双向绑定机制
- 简单的jQuery banner图片轮播实例代码
- 百度地图给map添加右键菜单(判断是否为marker)
- jquery实现右侧栏菜单选择操作
- jQuery实现TAB选项卡切换特效简单演示
- jquery实现页面常用的返回顶部效果
- JavaScript模拟鼠标右键菜单效果