html5 touch事件实现触屏页面上下滑动(一)
html5 touch事件实现触屏页面上下滑动(一)
发布时间:2016-12-27 来源:查字典编辑
摘要:最近做的做那个app的项目由于用overflow:hidden导致了很多问题,于是决定研究下html5的touch事件。想找个全面点的帖子很...

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

比较全面的上下滑动的小demo,代码比较简单。

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

XML/HTML Code复制内容到剪贴板 <!doctypehtml> <htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1user-scalable=0"/> <title>2014-4-29</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> <scriptsrc='jquery-1.9.1.min.js'></script> </head> <body> <divid="spText"></div> <divid="outer"> <divid="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> varstartX,//触摸时的坐标 startY, x,//滑动的距离 y, aboveY=0;//设一个全局变量记录上一次内部块滑动的位置 varinner=document.getElementById("inner"); functiontouchSatrt(e){//触摸 e.preventDefault(); vartouch=e.touches[0]; startY=touch.pageY;//刚触摸时的坐标 } functiontouchMove(e){//滑动 e.preventDefault(); vartouch=e.touches[0]; y=touch.pageY-startY;//滑动的距离 //inner.style.webkitTransform='translate('+0+'px,'+y+'px)';//也可以用css3的方式 inner.style.top=aboveY+y+"px";//这一句中的aboveY是inner上次滑动后的位置 } functiontouchEnd(e){//手指离开屏幕 e.preventDefault(); aboveY=parseInt(inner.style.top);//touch结束后记录内部滑块滑动的位置在全局变量中体现一定要用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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新HTML5教程学习
热门HTML5教程学习
网页设计子分类