最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

html5 touch事件实现触屏页面上下滑动(一)_html5教程技巧-H5教程

来源:http://erdangjiade.com/topic/134074.html H5程序员 2017-10-22 21:49浏览(22)

最近做的做那个app的项目由于用overflow:hidden导致了很多问题,于是决定研究下html5的touch事件。想找个全面点的帖子很难,虽然好多关于html5 touch的文章但大多都是介绍touch事件或者很简短的小demo。
比较全面的上下滑动的小demo,代码比较简单。

下面是完整代码,我把几个重要的地方做了红色标记

XML/HTML Code复制内容到剪贴板

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1 user-scalable=0"/>
  6. <title>2014-4-29</title>
  7. <style>
  8. * {margin: 0; padding: 0;}
  9. #outer{ width:90%; height: 490px; background: #000; margin: auto; overflow: hidden;}
  10. #inner{width:80%; height: 2000px; background: #f67d42; margin: auto; position:relative; top:0; }
  11. </style>
  12. <script src='jquery-1.9.1.min.js'></script>
  13. </head>
  14. <body>
  15. <p id="spText"></p>
  16. <p id="outer">
  17. <p id="inner">
  18. 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>
  19. </p>
  20. </p>
  21. <script>
  22. var startX,//触摸时的坐标
  23. startY,
  24. x, //滑动的距离
  25. y,
  26. aboveY=0; //设一个全局变量记录上一次内部块滑动的位置
  27. var inner=document.getElementById("inner");
  28. function touchSatrt(e){//触摸
  29. e.preventDefault();
  30. var touch=e.touches[0];
  31. startY = touch.pageY; //刚触摸时的坐标
  32. }
  33. function touchMove(e){//滑动
  34. e.preventDefault();
  35. var touch = e.touches[0];
  36. y = touch.pageY - startY;//滑动的距离
  37. //inner.style.webkitTransform = 'translate(' + 0+ 'px, ' + y + 'px)'; //也可以用css3的方式
  38. inner.style.top=aboveY+y+"px"; //这一句中的aboveY是inner上次滑动后的位置
  39. }
  40. function touchEnd(e){//手指离开屏幕
  41. e.preventDefault();
  42. aboveY=parseInt(inner.style.top);//touch结束后记录内部滑块滑动的位置 在全局变量中体现 一定要用parseInt()将其转化为整数字;
  43. }//
  44. document.getElementById("outer").addEventListener('touchstart', touchSatrt,false);
  45. document.getElementById("outer").addEventListener('touchmove', touchMove,false);
  46. document.getElementById("outer").addEventListener('touchend', touchEnd,false);
  47. </script>
  48. </body>
  49. </html>

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文:http://www.cnblogs.com/leinov/p/3701951.html

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2