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

jQuery实现的分页功能示例

程序员文章站 2023-11-09 21:11:58
本文实例讲述了jquery实现的分页功能。分享给大家供大家参考,具体如下: 1、分页栏html码

本文实例讲述了jquery实现的分页功能。分享给大家供大家参考,具体如下:

1、分页栏html码

<div class="g-cf g-pagerwp">
  <div style="visibility:hidden" class="g-pager">
  </div>
</div>

2、css样式文件

.g-cf:after {clear: both;content: "";display: table;}
.g-cf {zoom:1;}
/*分页*/
.g-pager{ text-align:center; color: #111111; font: 12px/1.5em arial,tahoma; float: right;}
.g-pager a,.g-pager input{ cursor:pointer; border:solid 1px #0f71be; padding:1px 4px; color:#0f71be; margin:0 2px; vertical-align:middle; }
.g-pager a.cur,.g-pager a:hover{ background-color:#0f71be; color:#fff}
.g-pager a.no{ border-color:#a3a3a3; color:#a3a3a3; background-color:#e4f2f9}
.g-pager span{ margin-right:10px; }
.g-pager input{ cursor:default; width:28px; padding:1px 2px; }
.g-pagerwp{ height:23px; line-height:23px;padding:5px; margin-bottom:10px; border: 1px solid #dddddd;}
.g-pagerwp .g-btn{ vertical-align:top}

3、js脚本文件

① 引用jquery和分页脚本

<script src="/js/common/jquery-1.6.2.js" type="text/javascript"></script>
<script src="/js/jquery.pagebar.js" type="text/javascript"></script>

② 编写jquery.pagebar.js脚本

/**************************/
//jquery分页栏
/**************************/
$.fn.pagebar = function(options) {
  var configs = {
    pageindex: 1,
    pagesize: 15,
    totalpage: 0,
    recordcount: 0,
    showpagecount: 4,
    onpageclick: function(pageindex) {
      return false;  //默认的翻页事件
    }
  }
  $.extend(configs, options);
  var tmp = "",
  i = 0,
  j = 0,
  a = 0,
  b = 0,
  totalpage = parseint(configs.recordcount / configs.pagesize);
  totalpage = configs.recordcount % configs.pagesize > 0 ? totalpage + 1 : totalpage;
  tmp += "<span>总记录数:" + configs.recordcount + "</span > ";
  tmp += " <span>页数:" + totalpage + "</span>";
  if (configs.pageindex > 1) {
    tmp += "<a><</a>"
  } else {
    tmp += "<a class=\"no\"><</a>"
  }
  tmp += "<a>1</a>";
  if (totalpage > configs.showpagecount + 1) {
    if (configs.pageindex <= configs.showpagecount) {
      i = 2;
      j = i + configs.showpagecount;
      a = 1;
    } else if (configs.pageindex > totalpage - configs.showpagecount) {
      i = totalpage - configs.showpagecount;
      j = totalpage;
      b = 1;
    } else {
      var k = parseint((configs.showpagecount - 1) / 2);
      i = configs.pageindex - k;
      j = configs.pageindex + k + 1;
      a = 1;
      b = 1;
      if ((configs.showpagecount - 1) % 2) {
        i -= 1
      }
    }
  }
  else {
    i = 2;
    j = totalpage;
  }
  if (b) {
    tmp += "..."
  }
  for (; i < j; i++) {
    tmp += "<a>" + i + "</a>"
  }
  if (a) {
    tmp += " ... "
  }
  if (totalpage > 1) {
    tmp += "<a>" + totalpage + "</a>"
  }
  if (configs.pageindex < totalpage) {
    tmp += "<a>></a>"
  } else {
    tmp += "<a class=\"no\">></a>"
  }
  tmp += "<input type=\"text\" /><a>go</a>"
  var pager = this.html(tmp)
  var index = pager.children('input')[0]
  pager.children('a').click(function() {
    var cls = $(this).attr('class');
    if (this.innerhtml == '<') {
      if (cls != 'no') {
        configs.onpageclick(configs.pageindex - 2)
      }
    } else if (this.innerhtml == '>') {
      if (cls != 'no') {
        configs.onpageclick(configs.pageindex)
      }
    } else if (this.innerhtml == 'go') {
      if (!isnan(index.value)) {
        var indexvalue = parseint(index.value);
        indexvalue = indexvalue < 1 ? 1 : indexvalue
        indexvalue = indexvalue > totalpage ? totalpage : indexvalue
        configs.onpageclick(indexvalue - 1)
      }
    } else {
      if (cls != 'cur') {
        configs.onpageclick(parseint(this.innerhtml) - 1)
      }
    }
  }).each(function() {
    if (configs.pageindex == parseint(this.innerhtml)) {
      $(this).addclass('cur')
    }
  })
}

③ 初始化使用

$(document).ready(function() {
  //设置分页信息
  var pageoptions = {
    allowpaging: true,
    pageindex: 1,    //设置当前页码
    pagesize: 15,    //设置分页大小
    recordcount: 1092, //设置数据总数
    totalpage: 73,   //设置总页数
    showpagecount: 4,
    onpageclick: function(pageindex) {
    alert("您点击了第" + parseint(pageindex + 1) + "页");  //自定义您的翻页事件
      return false;
    }
  }
  //初始化分页栏
  $('.g-pagerwp .g-pager').css('visibility', 'visible').pagebar(pageoptions);
})

更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery扩展技巧总结》、《jquery表格(table)操作技巧汇总》、《jquery常见经典特效汇总》、《jquery选择器用法总结》及《jquery常用插件及用法总结

希望本文所述对大家jquery程序设计有所帮助。