js分頁、表格

來源:互聯網
上載者:User

js分頁、表格

js分頁代碼:

//js分頁//el:分頁容器 count:總記錄數 pageStep:每頁顯示多少個 pageNum:第幾頁 fnGo:分頁跳轉函數var jsPage = function(el, count, pageStep, pageNum, fnGo) {    this.getLink = function(fnGo, index, pageNum, text) {        var s = '' + text + ' ';                    return s;    }        //總頁數    var pageNumAll = Math.ceil(count / pageStep);    if (pageNumAll == 1) {        divPage.innerHTML = '';        return;    }    var itemNum = 5; //當前頁左右兩邊顯示個數    pageNum = Math.max(pageNum, 1);    pageNum = Math.min(pageNum, pageNumAll);    var s = '';    if (pageNum > 1) {        s += this.getLink(fnGo, pageNum-1, pageNum, '上一頁');    } else {        s += '上一頁 ';    }    var begin = 1;    if (pageNum - itemNum > 1) {        s += this.getLink(fnGo, 1, pageNum) + '... ';        begin = pageNum - itemNum;    }    var end = Math.min(pageNumAll, begin + itemNum*2);    if(end == pageNumAll - 1){        end = pageNumAll;    }    for (var i = begin; i <= end; i++) {        s += this.getLink(fnGo, i, pageNum);    }    if (end < pageNumAll) {        s += '... ' + this.getLink(fnGo, pageNumAll, pageNum);    }    if (pageNum < pageNumAll) {        s += this.getLink(fnGo, pageNum+1, pageNum, '下一頁');    } else {        s += '下一頁 ';    }    var divPage = document.getElementById(el);    divPage.innerHTML = s;}

js建立表格代碼:

//js表格 產生表格代碼//arrTh 表頭資訊//arrTr 資料var getTable = function(arrTh, arrTr){    var s = '
 
  ';    s += '
  
    '; for(var i=0; i' + arrTh[i] + ''; } s += '
   '; for(var i=0; i'; for(var j=0; j' + arrTr[i][j] + ''; } s += ''; } s += '
  
'; return s;}
表格css樣式:

 /*表格樣式*/        .tbData {            border-collapse: collapse;            border-spacing: 0px;            border: solid 3px #ddd;            font-size: 12px;            font-family: Consolas;            color: #333;            background-color: white;            margin: 10px 0px;        }            .tbData td {                border: solid 1px #ddd;                padding: 5px 8px;            }            .tbData td {                border: solid 1px #ddd;                padding: 5px 8px;            }            .tbData tr:hover {                background-color: #a9a9a9;                cursor: pointer;            }            .tbData th {                border-bottom: solid 2px #ddd;                background-color: #eef;                font-weight: normal;                color: blue;                text-align: center;                           }        #divData .tbData tr:hover {            background-color: #fef;        }        /*分頁樣式*/        #divPage {            text-align: left;            margin: 10px 0px;            height: 30px;            font-size: 12px;        }            #divPage a, #divPage span {                text-decoration: none;                color: Blue;                background-color: White;                padding: 3px 5px;                font-family: Consolas;                text-align: center;                border: solid 1px #ddd;                display: inline-block;            }            #divPage span {                color: gray;            }            #divPage a:hover {                color: Red;            }            #divPage .aCur {                background-color: green;                color: White;                font-weight: bold;            }


使用方法:

function gopage(pageIndex, pageStep) {            var len = dt.length;            var arrTh = ['序號', 'ID', '名稱', '類型', '路線名稱', '行駛方向', '中心樁號', '預警類型','等級', '評定時間'];            var arrTr = [];            var startIndex = (pageIndex - 1) * pageStep;            var endIndex = 0;            if (pageIndex * pageStep > len) {                endIndex = len;            } else {                endIndex = pageIndex * pageStep;            }            for (var i = startIndex; i < endIndex; i++) {                arrTr.push([i + 1,                    dt[i].RBGDBI_ID,                    dt[i].DisasterName,                    dt[i].DisasterTypeName,                    dt[i].RoadCodeName,                    dt[i].Direction,                    dt[i].RoadPile,                    dt[i].YJType,                    dt[i].Level,                    dt[i].time]);            }            document.getElementById('divdata').innerHTML = getTable(arrTh, arrTr);            jsPage('divPage', len, pageStep, pageIndex, 'gopage');        }
gopage(1,5);
結果顯示:


ps:此處省略了資料擷取dt數組的環節,不過那也不是此文章的重點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.