• 【javascript】js分页控件


      1 var modelPage={//分页控件
      2         //调用示例
      3         codeExp: function () {
      4             modelPage.initPage({
      5                 pagerowcount: 215,//数据总共多少条
      6                 pageindex: 1,//当前第几页
      7                 pagesize:10,//一页多少条
      8                 domid: 'pageid',
      9                 pageclick: function (pageindex) { }
     10             })
     11         },
     12         //分页 配合梅珍写的样式使用
     13         initPage: function (setting) {
     14             this.pagecontent(setting);
     15         },
     16         pagecontent: function (setting) {
     17             if (!setting.pageindex) setting.pageindex = 1;
     18             if (!setting.pagesize) setting.pagesize = 10;
     19             if (!setting.showcount) setting.showcount = 5;
     20             //alert(setting.pagecount)
     21             if (!setting.pagerowcount) alert("缺少参数pagerowcount");
     22             if (!setting.domid) alert("缺少参数domid");
     23             if (!setting.pageclick) alert("缺少回调函数pageclick");
     24             if (setting.pagerowcount) {
     25                 setting.pagecount = parseInt(setting.pagerowcount % setting.pagesize > 0 ? (setting.pagerowcount / setting.pagesize) + 1 : setting.pagerowcount / setting.pagesize);
     26             }
     27             var itemthis = this;
     28             var div_page = document.createElement("div");
     29             div_page.className = "page";
     30             div_page.id = setting.domid;
     31             var div_pageIn = document.createElement("div");
     32             div_pageIn.className = "pageIn";
     33 
     34             this.pageset(setting, div_pageIn, itemthis);
     35 
     36             div_page.appendChild(div_pageIn);
     37             var dom = document.getElementById(setting.domid);
     38             dom.parentElement.replaceChild(div_page, dom);
     39         },
     40         pageset: function (setting, div_pageIn, itemthis) {
     41             /*处理分页参数*/
     42             if (setting.pageindex > 1) {
     43                 var link_a = document.createElement("a");
     44                 link_a.innerText = "首页";
     45                 link_a.onclick = function () { itemthis.pageclick.call(itemthis, setting, 1); };
     46                 div_pageIn.appendChild(link_a);
     47                 var link_a = document.createElement("a");
     48                 link_a.innerText = "上一页";
     49                 if (setting.pageindex <= 1) link_a.disabled = "disabled";
     50                 else
     51                     link_a.onclick = function () { itemthis.pageclick.call(itemthis, setting, setting.pageindex - 1); };
     52                 div_pageIn.appendChild(link_a);
     53             }
     54 
     55             //var tempshowcount = setting.pagecount < setting.showcount ? setting.pagecount : setting.showcount;
     56             for (var i = 1; i <= setting.showcount; i++) {
     57                 var link_a = document.createElement("a");
     58                 link_a.innerText = parseInt((setting.pageindex - 1) / setting.showcount) * setting.showcount + i;
     59                 if (link_a.innerText > setting.pagecount) break;
     60                 if (link_a.innerText == setting.pageindex) {
     61                     link_a.className = "now";
     62                 }
     63 
     64                 var pageitem = this;
     65 
     66                 link_a.onclick = function (pagei) {
     67                     return function () {
     68                         itemthis.pageclick.call(itemthis, setting, pagei);
     69                     }
     70                 }(link_a.innerText);
     71                 div_pageIn.appendChild(link_a);
     72             }
     73 
     74             if (setting.pageindex < setting.pagecount) {
     75                 var link_a = document.createElement("a");
     76                 link_a.innerText = "下一页";
     77                 if (setting.pageindex >= setting.pagecount) link_a.disabled = "disabled";
     78                 else link_a.onclick = function () { itemthis.pageclick.call(itemthis, setting, setting.pageindex + 1); };
     79                 div_pageIn.appendChild(link_a);
     80 
     81                 var link_a = document.createElement("a");
     82                 link_a.innerText = "最后一页";
     83                 link_a.onclick = function () { itemthis.pageclick.call(itemthis, setting, setting.pagecount); };
     84                 div_pageIn.appendChild(link_a);
     85             }
     86             /*处理分页参数END*/
     87         },
     88         pageclick: function (setting, page) {
     89             page = parseInt(page);
     90             setting.pageindex = page;
     91             this.pagecontent(setting);
     92             setting.pageclick(page);
     93         },
     94         loadCss: function () {
     95             var dom = document.createElement("style");
     96             dom.type = "text/css";
     97             dom.innerText = ".page{100%;height:auto;margin-top:20px}.page .pageIn{620px;margin:0 auto}.page .pageIn a{display:inline-block;padding:0 15px;height:40px;border:1px solid #ccc;margin-right:3px;line-height:40px;color:#555;font-size:14px}.page .pageIn .now{background:#2dc3e8;border:1px solid #2dc3e8;color:#fff}";
     98             window.document.body.appendChild(dom);
     99         }
    100     }
    101 
    102 modelPage.initPage({
    103                 pagerowcount: 215,//数据总共多少条
    104                 pageindex: 1,//当前第几页
    105                 pagesize:10,//一页多少条
    106                 domid: 'pageid',
    107                 pageclick: function (pageindex) { }
    108             })
    View Code

     效果图如下

  • 相关阅读:
    BZOJ 1192 鬼谷子的钱袋
    浅谈双连通分量、强连通分量
    BZOJ 1047 理想的正方形
    浅谈单调队列、单调栈
    django ORM之manytomany跨表
    django DateTimeField和DateField和TimeField
    django 一对多的添加记录create 和save 方法,update 更新和save()方法的区别,查询API的方法
    Python生成随机验证码
    obj.t2c.all-------django自动生成第三张多对多关系表中另一张表信息在前端的显示
    Form组件验证之ajax提交数据并显示错误信息
  • 原文地址:https://www.cnblogs.com/zspbolg/p/6084688.html
Copyright © 2020-2023  润新知