简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

javascript实现移动端上的触屏拖拽功能

来源:易贤网   阅读:1057 次  日期:2016-08-02 15:59:15

温馨提示:易贤网小编为您整理了“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程序设计有所帮助。

更多信息请查看网络编程
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:JavaScript模拟鼠标右键菜单效果
下一篇:基于Javascript实现二级联动菜单效果
易贤网手机网站地址:javascript实现移动端上的触屏拖拽功能
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!