近期做的做那个app的新项目因为用overflow:hidden致使了许多难题,因而决策科学研究下html5的touch恶性事件。想找个全面点的帖子很难,尽管许多有关html5 touch的文章内容但大多数全是详细介绍touch恶性事件或很简洁明了的小demo。
较为全面的左右拖动的小demo,编码较为简易。
下面是详细编码,我把几个关键的地区做了鲜红色标识
XML/HTML Code拷贝內容到剪贴板
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF⑻">
- <meta name="viewport" content="width=device-width,initial-scale=1 user-scalable=0"/>
- <title>2014⑷⑵9</title>
- <style>
- * {margin: 0; padding: 0;}
- #outer{ width:90%; height: 490px; background: #000; margin: auto; overflow: hidden;}
- #inner{width:80%; height: 2000px; background: #f67d42; margin: auto; position:relative; top:0; }
- </style>
- <script src='jquery⑴.9.1.min.js'></script>
- </head>
- <body>
-
- <div id="spText"></div>
- <div id="outer">
- <div id="inner">
- 123<br> 123<br> gag<br> af<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> yryyr<br> ryry<br> 123<br> 123<br> 123<br> 123<br> 123<br> sdff<br> fef<br> 123<br> hr<br> hrh<br> 5y<br> 123<br> er<br> ert<br> 123<br> rgdgdg<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> gfgfgfgfgfgf<br> sdsdsdsdsdsd<br> sf<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> gdggdgdg<br> 123<br> drgdrgd<br> 123<br> 123<br> 123<br> yuyuyuyuyuy<br> hjkhjkhkhkhjkhkh<br> kjkjk<br>123<br> 123<br> gag<br> af<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> yryyr<br> ryry<br> 123<br> 123<br> 123<br> 123<br> 123<br> sdff<br> fef<br> 123<br> hr<br> hrh<br> 5y<br> 123<br> er<br> ert<br> 123<br> rgdgdg<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> gfgfgfgfgfgf<br> sdsdsdsdsdsd<br> sf<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> 123<br> gdggdgdg<br> 123<br> drgdrgd<br> 123<br> 123<br> 123<br> yuyuyuyuyuy<br> hjkhjkhkhkhjkhkh<br> kjkjk<br>
- </div>
- </div>
-
- <script>
- var startX,//触碰时的座标
- startY,
- x, //拖动的间距
- y,
- aboveY=0; //设1个全局性自变量纪录上1次內部块拖动的部位
-
- var inner=document.getElementById("inner");
-
- function touchSatrt(e){//触碰
- e.preventDefault();
- var touch=e.touches[0];
- startY = touch.pageY; //刚触碰时的座标
- }
-
- function touchMove(e){//拖动
- e.preventDefault();
- var touch = e.touches[0];
- y = touch.pageY - startY;//拖动的间距
- //inner.style.webkitTransform = 'translate(' + 0+ 'px, ' + y + 'px)'; //还可以用css3的方法
- inner.style.top=aboveY+y+"px"; //这1句中的aboveY是inner之前拖动后的部位
- }
-
- function touchEnd(e){//手指离去显示屏
- e.preventDefault();
- aboveY=parseInt(inner.style.top);//touch完毕续篇录內部滑块拖动的部位 在全局性自变量中反映 1定要用parseInt()将其转换为整数金额字;
-
- }//
- document.getElementById("outer").addEventListener('touchstart', touchSatrt,false);
- document.getElementById("outer").addEventListener('touchmove', touchMove,false);
- document.getElementById("outer").addEventListener('touchend', touchEnd,false);
- </script>
- </body>
-
- </html>
以上便是本文的所有內容,期待对大伙儿的学习培训有一定的协助。
原文:http://www.cnblogs.com/leinov/p/3701951.html