国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript分頁代碼實例分享(js分頁)

2024-05-06 15:57:23
字體:
供稿:網(wǎng)友
這篇文章主要介紹了javascript分頁實例,大家參考使用吧

調(diào)用:

復制代碼 代碼如下:


var pageChange = function (index) {
            var html = pager("divid", index, 5, 1000, pageChange, { showGoTo: false, showFirst: false });
        }

實現(xiàn):

復制代碼 代碼如下:


pager = function (divPager, pageIndex, pageSize, totalCount, pageChange, opt) {

     var theOpt = {
         barSize: 5, //分頁條顯示的頁碼數(shù)  
         barTemplate: "{bar}  共{totalPage}頁{totalCount}條 {goto}", //顯示模板
         autoHide: true, //是否自動隱藏
         showFirst: true, //在totalPage>barSize時是自動否顯示第一頁鏈接
         showLast: true, //在totalPage>barSize時是自動否顯示最后一頁鏈接
         showGoTo: true, //是否顯示GoTo
         autoHideGoTo: true //如果太少是否自動隱藏GoTo
     };

     if (opt) {
         if (opt.barSize)
             theOpt.barSize = opt.barSize;
         if (opt.barTemplate)
             theOpt.barTemplate = opt.barTemplate;
         if (opt.autoHide == false)
             theOpt.autoHide = false;
         if (opt.showFirst == false)
             theOpt.showFirst = false;
         if (opt.showLast = false)
             theOpt.showLast = false;
         if (opt.showGoTo == false)
             theOpt.showGoTo = false;
         if (opt.autoHideGoTo == false)
             theOpt.autoHideGoTo = false;
     }
     var handles = window.myPagerChanges = (function (x) { return x; } (window.myPagerChanges || {}));

     if (!myPagerChanges[divPager]) myPagerChanges[divPager] = pageChange;

     var startPage = 0;  //分頁條起始頁
     var endPage = 0;    //分頁條終止頁
     var showFirst = true;
     var showLast = true;

 
     if (isNaN(pageIndex)) {
         pageIndex = 1;
     }
     pageIndex = parseInt(pageIndex);
     if (pageIndex <= 0)
         pageIndex = 1;
     if (pageIndex * pageSize > totalCount) {
         pageIndex = Math.ceil(totalCount / pageSize);
     }

     if (totalCount == 0) { //如果沒數(shù)據(jù)
         document.getElementById(divPager).innerHTML = "";
         return "";
     }

     var totalPage = Math.ceil(totalCount / pageSize);
     if (theOpt.autoHide && totalCount <= pageSize) {   //自動隱藏
         document.getElementById(divPager).innerHTML = "";
         return "";
     }

     if (totalPage <= theOpt.barSize) {
         startPage = 1;
         endPage = this.totalPage;
         theOpt.showLast = theOpt.showFirst = false;
     }
     else {
         if (pageIndex <= Math.ceil(theOpt.barSize / 2)) { //最前幾頁時
             startPage = 1;
             endPage = theOpt.barSize;
             theOpt.showFirst = false;
         }
         else if (pageIndex > (totalPage - theOpt.barSize / 2)) { //最后幾頁時
             startPage = totalPage - theOpt.barSize + 1;
             endPage = totalPage;
             theOpt.showLast = false;
         }
         else {                                          //中間的頁時
             startPage = pageIndex - Math.ceil(theOpt.barSize / 2) + 1;
             endPage = pageIndex + Math.floor(theOpt.barSize / 2);
         }
         if (totalPage <= (theOpt.barSize * 1.5)) {
             theOpt.showLast = theOpt.showFirst = false;
         }
     }

     function _getLink(index, txt) {
         if (!txt) txt = index;
         return "<a href='javascript:;'>" + txt + "</a>";
     }

     var barHtml = "";  //分頁條
     barHtml += pageIndex == 1 ? "" : _getLink(pageIndex - 1, "上一頁");
     if (theOpt.showFirst) {
         barHtml += _getLink(1) + "<span>...</span>";
     }
     for (var index = startPage; index <= endPage; index++) {

         if (index == pageIndex) {
             barHtml += "<span>" + index + "</span>";
         }
         else {
             barHtml += _getLink(index);
         }
     }
     if (theOpt.showLast) {
         barHtml += "<span>...</span>" + _getLink(totalPage);
     }
     barHtml += pageIndex == totalPage ? "" : _getLink(pageIndex + 1, "下一頁");

     var gotoHtml = "";  //goto框及按鈕
     if (theOpt.showGoTo && theOpt.barTemplate.indexOf("{goto}") > 0) {
         if ((theOpt.autoHideGoTo && totalPage > 15) || theOpt.autoHideGoTo == false) {
             var txtid = divPager + "_goIndex";
             var indexVal = "document.getElementById(/"" + txtid + "/").value";
             gotoHtml += "<input type='text' onkeypress='if(event.keyCode==13){myPagerChanges[/"" + divPager + "/"](" + indexVal + ")}' value=" + pageIndex + ">";
             gotoHtml += " <input type='button' value='go'>";
         }
     }

     //替換模板
     var pagerHtml = theOpt.barTemplate.replace("{bar}", barHtml)
                               .replace("{totalCount}", totalCount)
                               .replace("{pageIndex}", pageIndex)
                               .replace("{totalPage}", totalPage)
                               .replace("{goto}", gotoHtml);

     document.getElementById(divPager).innerHTML = pagerHtml;
     return pagerHtml;
 };

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 石林| 团风县| 石林| 出国| 银川市| 黄梅县| 新密市| 云林县| 宝应县| 永丰县| 黎平县| 木兰县| 黄石市| 蒙自县| 湘潭县| 朝阳县| 图们市| 青海省| 潜江市| 永登县| 民和| 合阳县| 宝鸡市| 保德县| 那坡县| 闵行区| 绥宁县| 邢台县| 武乡县| 安平县| 嫩江县| 辽宁省| 横山县| 浮梁县| 从江县| 宁强县| 雷州市| 六盘水市| 即墨市| 永丰县| 平远县|