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 = '<a href="#p' + index + '" onclick="' + fnGo + '(' + index + ');" '; if(index == pageNum) { s += 'class="aCur" '; } text = text || index; s += '>' + text + '</a> '; 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 += '<span>上一页</span> '; } 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 += '<span>下一页</span> '; } var divPage = document.getElementById(el); divPage.innerHTML = s; }
js创建表格代码:
//js表格 生成表格代码 //arrTh 表头信息 //arrTr 数据 var getTable = function(arrTh, arrTr){ var s = '<table class="tbData">'; s += '<tr>'; for(var i=0; i<arrTh.length; i++) { s += '<th>' + arrTh[i] + '</th>'; } s += '</tr>'; for(var i=0; i<arrTr.length; i++) { s += '<tr>'; for(var j=0; j<arrTr[i].length; j++) { s += '<td>' + arrTr[i][j] + '</td>'; } s += '</tr>'; } s += '</table>'; 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数组的环节,不过那也不是此文章的重点。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。