溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html5 touch事件實現(xiàn)觸屏頁面上下滑動的方法

發(fā)布時間:2020-10-24 15:11:14 來源:億速云 閱讀:429 作者:小新 欄目:web開發(fā)

html5 touch事件實現(xiàn)觸屏頁面上下滑動的方法?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

最近做的做那個app的項目由于用overflow:hidden導致了很多問題,于是決定研究下html5的touch事件。想找個全面點的帖子很難,雖然好多關于html5 touch的文章但大多都是介紹touch事件或者很簡短的小demo。
比較全面的上下滑動的小demo,代碼比較簡單。

下面是完整代碼,我把幾個重要的地方做了紅色標記

<!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; //設一個全局變量記錄上一次內(nèi)部塊滑動的位置    
  
         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結束后記錄內(nèi)部滑塊滑動的位置 在全局變量中體現(xiàn) 一定要用parseInt()將其轉(zhuǎn)化為整數(shù)字;   
  
            }//   
             document.getElementById("outer").addEventListener('touchstart', touchSatrt,false);     
             document.getElementById("outer").addEventListener('touchmove', touchMove,false);     
             document.getElementById("outer").addEventListener('touchend', touchEnd,false);     
    </script>  
</body>  
  
</html>

感謝各位的閱讀!看完上述內(nèi)容,你們對html5 touch事件實現(xiàn)觸屏頁面上下滑動的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI