原生JS實現翻頁

話不多說,直接上代碼

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>翻頁</title>
  <style>
    #ol1 li{
      width: 100px;
      height: 50px;
      line-height: 50px;
    }
  </style>
</head>
<body>
  <div>
    <ol id="ol1">
      
    </ol>
    <div>
      <button class="pageChange" pageNum="0">第一頁</button>
      <button class="pageChange" pageNum="1">第二頁</button>
      <button class="pageChange" pageNum="2">第三頁</button>
    </div>
  </div>
  <script type="text/javascript">
    window.onload = function () 
    {
      // 自定義數據 實際開發中 數據是從後臺獲取
      var data = [  
        { name: "aa", age: 10},
        { name: "bb", age: 11},
        { name: "cc", age: 12},
        { name: "dd", age: 23},
        { name: "ee", age: 50},
        { name: "ff", age: 24},
        { name: "gg", age: 62},
        { name: "hh", age: 16},
        { name: "ii", age: 35}
      ]; 

      // 取前三條數據初始化頁面
      var oOl = document.getElementById('ol1');
      var outStr = "";
      for (var i = 0; i < 3; i++) {
        outStr += '<li><span>' + data[i].name + '</span> <span>' + data[i].age + '</span></li>';
      }
      oOl.innerHTML = outStr;
      
      // 實現翻頁功能
      var aBtn = document.getElementsByClassName('pageChange');
      for (var j = 0; j < aBtn.length; j++) { // 爲每個頁數按鈕都設置點擊事件
        aBtn[j].onclick = function (event) {
          var pageNum = parseInt(event.target.getAttribute("pageNum")); // 獲取自定義屬性pageNum的值 並將其轉換爲數字類型  釋:pageNum表明當前時第幾頁
          outStr = "";
          for (var i = pageNum*3; i < pageNum*3+3; i++) { //通過頁數獲取data中相應段的值
            outStr += '<li><span>' + data[i].name + '</span> <span>' + data[i].age + '</span></li>';
          }
          oOl.innerHTML = outStr;
        }
      }
    }
  </script>
</body>
</html>

運行結果:


點擊頁面按鈕就可切換顯示不同的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章