自己写的,感觉返回html代码蠢蠢的,但是新手并不知道怎么写更好的,感觉这样子也蛮简单。记录下来,以后来越改越好。

//获得分页栏。注意indexSize为奇数,这样也比较好看
//totalNum:数据库总记录数,pageSize:每页显示的记录数,indexSize:要显示几个页码,比如下边显示 1 2 3 4 5 indexSize就=5, page:当前页码
function getPageIndex(totalNum, pageSize, indexSize, page) {
var pageIndex = "";
//如果总记录数大于页码显示数量才进行计算
if (totalNum > pageSize) {
var totalPage = 0;
if (totalNum % pageSize == 0) {
totalPage = totalNum / pageSize;
}
else {
totalPage = Math.floor(totalNum / pageSize) + 1;
}
//情况1 总页数<页码数
if (totalPage < indexSize) {
for (var i = 1; i <= totalPage; i++) {
pageIndex += "<li";
if (i == page) {
pageIndex += " class='active'";
}
pageIndex += ">";
pageIndex += "<a>" + i + "</a>";
pageIndex += "</li>";
}
}
//情况2 总页数>页码数 并且 当前页数位于最后后半段 如 25 26 27 28 29的28页
else if (totalPage > indexSize && totalPage - page <= ((indexSize - 1) / 2)) {
for (var i = totalPage - indexSize + 1; i <= totalPage; i++) {
pageIndex += "<li";
if (i == page) {
pageIndex += " class='active'";
}
pageIndex += ">";
pageIndex += "<a>" + i + "</a>";
pageIndex += "</li>\n";
}
}
//情况3 总页数>页码数 并且 当前页数位于最前前半段 如 1 2 3 4 5的2页
else if (totalPage > indexSize && page <= ((indexSize + 1) / 2)) {
for (var i = 1; i <= indexSize; i++) {
pageIndex += "<li";
if (i == page) {
pageIndex += " class='active'";
}
pageIndex += ">";
pageIndex += "<a>" + i + "</a>";
pageIndex += "</li>\n";
}
}
//正常情况
else {
for (var i = parseInt(page) - Math.floor(indexSize / 2); i <= parseInt(page) + Math.floor(indexSize / 2); i++) {
pageIndex += "<li";
if (i == page) {
pageIndex += " class='active'";
}
pageIndex += ">";
pageIndex += "<a>" + i + "</a>";
pageIndex += "</li>\n";
}
}
//上一页 下一页
if (page == 1) {
pageIndex = "<li class='disabled'><a>上一页</a></li>" + pageIndex + "<li><a>下一页</a></li>";
} else if (page == totalPage) {
pageIndex = "<li><a>上一页</a></li>" + pageIndex + "<li class='disabled'><a>下一页</a></li>";
} else {
pageIndex = "<li><a>上一页</a></li>" + pageIndex + "<li><a>下一页</a></li>";
}
}
return pageIndex;
}

  

最新文章

  1. 用eclipse加载别人的工程,报错Target runtime com.genuitec.runtime.generic.jee60 is not defined
  2. Go视频教程整理
  3. Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
  4. ASP.NET二级域名站点共享Session状态
  5. highcharts 柱形堆叠图
  6. CSS3阴影 box-shadow的使用
  7. wx.ToolBar
  8. 杭电 HDU 1242 Rescue
  9. 国内使用Google Maps JavaScript API
  10. git上传报错的解决方案
  11. ssh代理上网
  12. MySQL常用配置参数
  13. Credit Summaries &amp; Importing External Credit Exposure
  14. Maven常用命令:
  15. vue dialog在ios层级有问题
  16. Failed to start bean &#39;stompBrokerRelayMessageHandler&#39;; nested exception is java.lang.NoClassDefFoundError: reactor/io/codec/Codec
  17. python--第二十天总结(Django的一些注意)
  18. JUnit Parametrized Tests
  19. k8s mongodb 集群配置
  20. Markdown中实时显示数学公式的方法

热门文章

  1. [LeetCode]题解(python):141-Linked List Cycle
  2. 转: git常用命令
  3. PCB成型製程介紹
  4. finally块的问题(finally block does not complete normally) (转)
  5. Noip2013错误避免
  6. delphi关于文件操作集锦
  7. NGUI使用教程(1) 安装NGUI插件
  8. Android首席设计师宣称移动概念已死,开发人员应该面向屏幕编写应用而非移动
  9. Node.js模块os
  10. MYSQL—加写锁,加读锁,解锁