欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

模拟ASP.Net分页的分页导航

程序员文章站 2022-10-25 13:22:32
获得如下分页导航 |<< < ... 9 10 11 12 13 14 15 16 ... > >>| 习惯了c的带类型,不大习惯js的无类型...

获得如下分页导航 |<< < ... 9 10 11 12 13 14 15 16 ... > >>|

习惯了c的带类型,不大习惯js的无类型编程。搞了半天才发现是类型错误...- - 还是都取下整比较保险

 

 

  //containerid 导航的目标容器,建议使用span标签
        //url 默认为xxx.xx?pagenum=
        //curpage 当前的页码
        //maxsection 最大的分段数(一段里面最大的页数)
        //totalpage 总共的页数
        function navigate(containerid,url,curpage,maxsection, totalpage) {
            //到第一页符号
            var first = "|<<";
            //到最后一页符号
            var last = ">>|";
            //前一页符号
            var back = "<"
            //下一页符号
            var next = ">";
            //非法页码处理 
            if (curpage > totalpage || curpage < 0) {
                curpage = 1;
            }
            //获得导航容器父元素
            var containerobj = document.getelementbyid(containerid);
            //获得当前页所在的分段号(调试了老半天原来是类型问题,居然是float型)
            var cursection = math.floor((curpage - 1) / maxsection + 1);
            //获得最后一个分段的号
            var lastsection = math.floor((totalpage - 1) / maxsection + 1);
            var html = "";
            //当前页不是第1页,添加到首页,和前一页
            if (curpage > 1) {
                html += "... ";
            }
            //当前段的第一页号码
            var cursectionfirst = (cursection - 1) * maxsection + 1;
            //当前段的第最后一页号码
            var cursecitonlast = cursection * maxsection;
            //输出当前段的页码
            for (var i = cursectionfirst; i <= cursecitonlast && i <= totalpage; i++) {
                if (curpage == i) {
                    html += "... ";
            }
            //当前页不是第最后页,添加下一页和最后一页符号
            if (curpage != totalpage) {
                html += "<a data-cke-saved-href="http://blog.csdn.net/jiangpeng59/article/details/" href="http://blog.csdn.net/jiangpeng59/article/details/'&quot;" +="" url="" (curpage="" 1)="" "&#39;="">" + next + " ";
                html += "