JavaScript分页功能制作

简介: JavaScript分页功能制作
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="js/jquery.min.js"></script>
    <title></title>
  </head>
  <body>
    <style type="text/css">
      #button{
        display: flex;
      }
    </style>
    <div id="list">
    </div>
    <div id="button">
      <button onclick="up()">上一页</button>
      <div id="but">
      </div>
      <button onclick="bottom()">下一页</button>
    </div>
    <script type="text/javascript">
      let data = [{ //模拟数据(假设这就是从后台请求过来的数据)
          name: "沈阳市",
          value: ["123.429092", "41.796768"],
        },
        {
          name: "长春市",
          value: ["125.324501", "43.886841"],
        },
        {
          name: "哈尔滨市",
          value: ["126.642464", "45.756966"],
        },
        {
          name: "北京市",
          value: ["116.405289", "39.904987"],
        },
        {
          name: "天津市",
          value: ["117.190186", "39.125595"],
        },
        {
          name: "呼和浩特市",
          value: ["111.751990", "40.841490"],
        },
        {
          name: "银川市",
          value: ["106.232480", "38.486440"],
        },
        {
          name: "太原市",
          value: ["112.549248", "37.857014"],
        },
        {
          name: "石家庄市",
          value: ["114.502464", "38.045475"],
        },
        {
          name: "济南市",
          value: ["117.000923", "36.675808"],
        },
        {
          name: "郑州市",
          value: ["113.665413", "34.757977"],
        },
        {
          name: "西安市",
          value: ["108.948021", "34.263161"],
        },
        {
          name: "武汉市",
          value: ["114.298569", "30.584354"],
        },
        {
          name: "南京市",
          value: ["118.76741", "32.041546"],
        },
      ]
      let page = {
        pageSize: 5, //每页显示多少数据
        currentPage: 1, //初始页面
        total: 0, //总共有多少条数据
      };
      let viewData = []; //页面要渲染的数据
      function aa(){
        page.total = data.length; //页面要显示的数据总条数
        viewData = data.slice((page.currentPage - 1) * page.pageSize, page.pageSize + ((page.currentPage - 1) * page
          .pageSize)); //这里就是截取出来第一页的十条数据
        // console.log(page.currentPage);
        let arr = "";
        for (let i = 0; i < viewData.length; i++) {
          arr += '<div id="box">'+ viewData[i].name +'</div>'
        }
        let Pagecount = Math.ceil(data.length / page.pageSize);
        let three = "";
        for (let i = 0; i < Pagecount; i++) {
          let is = i + 1;
          three += '<span onclick="previous_span(' + i +
            ')" style="width:2vw" class="span_iner">' + is + '</span> ';
        }
        $("#but").html(three)
        $("#list").html(arr)
      }
      aa()
      // 上一页
      function up(){
        if(page.currentPage > 1){
          page.currentPage--;
          console.log(page.currentPage);
          aa()
        }else if (page.currentPage  == 1) {
          alert('第一页')
        }
      }
      // 下一页
      function bottom(){
        if (page.currentPage != Math.ceil(page.total / page.pageSize)) {  //判断当前页面不等于总条数除于每页多少条
          page.currentPage++;
          aa()
        }else if(page.currentPage == Math.ceil(page.total / page.pageSize)){    //判断当前页面等于总条数除于每页多少条
          alert('最后一页')
        }
      }
      // 点击哪个数字跳到相应的页数
      function previous_span(i) {
          let span_iner = document.getElementsByClassName('span_iner');
          page.currentPage = i + 1;
          aa()
        }
    </script>
  </body>
</html>
目录
相关文章
|
4天前
|
JavaScript 前端开发 测试技术
编写JavaScript模块化代码主要涉及将代码分割成不同的文件或模块,每个模块负责处理特定的功能或任务
【5月更文挑战第10天】编写JavaScript模块化代码最佳实践:使用ES6模块或CommonJS(Node.js),组织逻辑相关模块,避免全局变量,封装细节。利用命名空间和目录结构,借助Webpack处理浏览器环境的模块。编写文档和注释,编写单元测试以确保代码质量。通过这些方法提升代码的可读性和可维护性。
9 3
|
5天前
|
JavaScript 前端开发
JavaScript实现识别二维码信息功能
JavaScript实现识别二维码信息功能
9 1
|
5天前
|
JavaScript
js实现全屏功能——易懂版
js实现全屏功能——易懂版
6 0
|
14天前
|
JavaScript 前端开发 API
如何利用JavaScript和Electron构建具有丰富功能的桌面应用
【4月更文挑战第30天】如何利用JavaScript和Electron构建具有丰富功能的桌面应用
5 0
|
15天前
|
JavaScript 前端开发
实现一个JavaScript动态日期功能
实现一个JavaScript动态日期功能
|
15天前
|
JavaScript 前端开发
JavaScript模糊搜索功能
JavaScript模糊搜索功能
|
15天前
|
JavaScript 前端开发
JavaScript三级联动功能
JavaScript三级联动功能
|
15天前
|
JavaScript
JS实现分页功能
JS实现分页功能
|
15天前
|
JavaScript
js隔行换色功能制作详情
js隔行换色功能制作详情
|
16天前
|
SQL 存储 前端开发
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情