极简分页功能制作

简介: 极简分页功能制作
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
  </head>
  <body>
    <div id="pages"></div>
    <span id="page"></span>
    <script>
      var TOTALBUTTOM = 10; //为了对称美观,请设置翻页按钮为奇数
      var total = 10; //用ajax动态赋值即可(此处写死一个数据模拟ajax返回的值)
      pagecontroller = function(page) {
        var beginpage, endpage;
        var pageno = parseInt(page)
        if (total > TOTALBUTTOM) { //当保证足够TOTALBUTTOM个按钮
          if (pageno - parseInt(TOTALBUTTOM / 2) < 1) { //如果page离1不足TOTALBUTTOM/2个位置
            beginpage = 1;
            endpage = beginpage + TOTALBUTTOM - 1;
          } else {
            beginpage = pageno - parseInt(TOTALBUTTOM / 2);
            endpage = pageno + parseInt(TOTALBUTTOM / 2);
          } //先保证不下溢
          if (endpage >= total) {
            endpage = total;
          } //再保证不上溢
          if (endpage - pageno < parseInt(TOTALBUTTOM / 2)) { // 向下补充按钮
            endpage = total;
            beginpage = total - TOTALBUTTOM + 1;
          } // 向下补充按钮
          else if (pageno - beginpage < parseInt(TOTALBUTTOM / 2)) { // 向上补充按钮
            beginpage = 1;
            endpage = beginpage + TOTALBUTTOM - 1;
          } // 向上补充按钮
          else { //一般情况(即当前页码位于最中间的情况)
            beginpage = pageno - parseInt(TOTALBUTTOM / 2);
            endpage = pageno + parseInt(TOTALBUTTOM / 2);
          }
        } //当保证足够TOTALBUTTOM个按钮
        else if (total <= TOTALBUTTOM) { //按钮数不足总页数
          beginpage = 1;
          endpage = total;
        } //直接固定开头结尾就好
        var html = "";
        for (var i = beginpage; i <= endpage; i++) {
          html += "<button id='pages'  value='" + i + "' onclick =pagecontroller(value)>" + i +"</button>"; //使用字符串拼接的方式将页码按钮动态更新
        }
        document.getElementById("pages").innerHTML = html;
        document.getElementById("page").innerHTML = "当前第" + pageno + "页" + "<br>共" + total + "页";
      }
      window.onload = function() {
        pagecontroller(1); //初始进来的时候的页面
      }
    </script>
  </body>
</html>
相关文章
|
5月前
|
小程序 索引 容器
微信小游戏制作工具中的滚动列表插件如何使用?
微信小游戏制作工具中的滚动列表插件如何使用?
64 1
|
7月前
|
SQL 前端开发 Java
通用分页-后台
通用分页-后台
72 0
|
前端开发
前端学习案例-WangEdit富文本编辑器增加上传视频功能
前端学习案例-WangEdit富文本编辑器增加上传视频功能
348 0
|
13天前
|
JSON JavaScript 数据格式
分页功能制作
分页功能制作
|
资源调度 前端开发
让后台查询+表格这种页面更加快速和简便
让后台查询+表格这种页面更加快速和简便
104 0
|
前端开发 JavaScript Java
|
SQL 存储 算法
【自然框架】QuickPager分页控件的总体介绍和在线演示
QuickPager分页控件的特点    两种运行方式:自动运行、手动运行。前者便捷,后者灵活。  多种分页方式:Postback、Postback伪URL、URL、URL重写、Ajax For服务器控件伪URL。
1068 0
|
算法 数据库 内存技术
【视频】自然框架之分页控件的使用方法(一) PostBack方式的一般分页方式
前言:分页控件的优点   1、 按需所取 —— 需要几条记录就从数据库里提取几条记录,不会多取。 2、 使用简单 —— 设置几个属性就可以实现分页的功能。 3、 多种分页算法 —— (即分页用的SQL语句)可以根据不同的需求灵活选择 4、 支持多种数据库 —— 用不同的分页算法对应不同的数据库。
1089 0