中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

原生javascript如何實現移動端滑動banner效果

發布時間:2021-06-29 09:47:49 來源:億速云 閱讀:103 作者:小新 欄目:web開發

這篇文章給大家分享的是有關原生javascript如何實現移動端滑動banner效果的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta content="telephone=yes" name="format-detection" />
 <meta name="apple-mobile-web-app-status-bar-style" content="white">
 <meta name="x5-fullscreen" content="true">
 <meta name="apple-touch-fullscreen" content="yes">
 <title>Document</title>
 <style>
  *{margin:0;padding:0;}
  .box{
   height:200px;
   width:100%;
   overflow: hidden;
  }
  .movebox{
   height:200px;
   width:9000px;
   padding:0;
   position:relative;
   left:0;
  }
  .movebox li{
   height:200px;
   float:left;
   list-style:none;
   font-size:30px;
   color:#fff;
  }

 </style>
 <script>
  window.onload = function(){

   var moveX,  //手指滑動距離
    endX,  //手指停止滑動時X軸坐標
    cout = 0, //滑動計數器
    moveDir; //滑動方向
   var movebox = document.querySelector(".movebox"); //滑動對象
   var Li = movebox.querySelectorAll("li"); //滑動對象item
   var width = parseInt(window.getComputedStyle(movebox.parentNode).width); //滑動對象item的寬度

   movebox.style.width = (width*4) + "px"; //設置滑動盒子width
   for(var i = 0; i < Li.length; i++){
    Li[i].style.width = width + "px"; //設置滑動item的width,適應屏幕寬度
   }

   //觸摸開始
   function boxTouchStart(e){
    var touch = e.touches[0]; //獲取觸摸對象
    startX = touch.pageX; //獲取觸摸坐標
    endX = parseInt(movebox.style.webkitTransform.replace("translateX(", "")); //獲取每次觸摸時滑動對象X軸的偏移值
   }

   function boxTouchMove(e){
    var touch = e.touches[0];
    moveX = touch.pageX - startX; //手指水平方向移動的距離

    if(cout == 0 && moveX > 0){  //剛開始第一次向左滑動時
     return false;
    }

    if(cout == 3 && moveX < 0){  //滑動到最后繼續向右滑動時
     return false;
    }

    movebox.style.webkitTransform = "translateX(" + (endX + moveX) + "px)"; //手指滑動時滑動對象隨之滑動
   }

   function boxTouchEnd(e){
    moveDir = moveX < 0 ? true : false;  //滑動方向大于0表示向左滑動,小于0表示向右滑動
    //手指向左滑動
    if(moveDir){

     if(cout<3){
      movebox.style.webkitTransform = "translateX(" + (endX-width) + "px)";
      cout++;
     }
    //手指向右滑動
    }else{
     //滑動到初始狀態時返回false
     if(cout == 0){
      return false;
     }else{
      movebox.style.webkitTransform = "translateX(" + (endX+width) + "px)";
      cout--;
     }
    }
   }

   //滑動對象事件綁定
   movebox.addEventListener("touchstart", boxTouchStart, false);
   movebox.addEventListener("touchmove", boxTouchMove, false);
   movebox.addEventListener("touchend", boxTouchEnd, false);
  }
 </script>
</head>

<body >
 <div class="box">
  <ul class="movebox" >
   <li >1</li>
   <li >2</li>
   <li >3</li>
   <li >4</li>
  </ul>
 </div>
</body>

</html>

感謝各位的閱讀!關于“原生javascript如何實現移動端滑動banner效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

铜陵市| 鄂尔多斯市| 丰镇市| 大方县| 平湖市| 永顺县| 金华市| 涟源市| 安吉县| 军事| 临高县| 江门市| 集安市| 寿光市| 德昌县| 观塘区| 巴林右旗| 高唐县| 平舆县| 玉林市| 左贡县| 邯郸县| 晋城| 孟村| 舟曲县| 德令哈市| 赤峰市| 南郑县| 岑巩县| 石屏县| 永寿县| 灌阳县| 长海县| 遂宁市| 绍兴县| 西宁市| 宁国市| 甘肃省| 蒙城县| 拉萨市| 尼勒克县|