html5 touch事件实现触屏页面上下滑动(一)


本文摘自PHP中文网,作者不言,侵删。

这篇文章主要为大家详细介绍了html5 touch事件实现触屏页面上下滑动的相关代码,代码注释很清楚,感兴趣的小伙伴们可以参考一下

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

<!doctype html> 

<html lang="en"

<head

    <meta charset="UTF-8"

    <meta name="viewport" content="width=device-width,initial-scale=1 user-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

    <script src='jquery-1.9.1.min.js'></script

</head

<body

   

<p id="spText"></p

    <p id="outer"

        <p 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>        

        </p

    </p

   

    <script

        var startX,//触摸时的坐标  

            startY,  

             x, //滑动的距离  

             y,  

             aboveY=0; //设一个全局变量记录上一次内部块滑动的位置   

   

         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"; //这一句中的aboveY是inner上次滑动后的位置                     

            }    

   

            function touchEnd(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>

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

阅读剩余部分

相关阅读 >>

HTML5-offline apis的简单介绍

HTML5和web前端的区别是什么

HTML5 canvas图像处理的实现代码分享

HTML5的contenteditable属性解析

5个java开发人员必须重视HTML5的理由

HTML5新增加的标签和表单新增属性的代码实例

HTML5 web 存储详解

app三年内是否将被HTML5顶替彻底消失?

如何使用HTML5 file接口在web页面上使用文件下载

html中文本标签,超链接标签以及图像标签的简单介绍

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...