博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己写的分页器,BOOTSTRAP+JQUERY(非完全版,后续完善)
阅读量:6114 次
发布时间:2019-06-21

本文共 7762 字,大约阅读时间需要 25 分钟。

第一步: //创建几个php文件的全局变量先,后面会很多地方用到 var wholePhones="selectPhones.php"; var lowPowerPhones="lowPowerPhones.php"; var issuePhones="issuePhones.php"; var losePhones="losePhones.php";

    第二步:

// 根据不同类型sorting不同商品列表的共用的函数集合,两个参数分别表示从第几页开始查询,查询通过哪个接口     function sortPhones(page,pathUrl) {
var sumPage; $.ajax({
type:'GET', url:'data/'+pathUrl+'?page='+page, success:function (result) {
var obj=JSON.parse(result); var phones=obj.phones; var count=obj.count; sumPage=Math.ceil(count/20); var html = ""; for(var i=0;i
  • ${phone.id}
  • ${isLock}
  • ${phone.station_id}
  • 详情
`; } //没有想要sorting的商品时,显示的内容 var noSortHtml=`
  • 没有该类型的商品
  • NA
  • NA
  • NA
`; if(phones.length<=0){$(".list-phone").html(noSortHtml)} else{$(".list-phone").html(html)}; }, error:function (err) {
console.log(err) } }) }

第三步:

// 创建分页器的封装函数,重要!
function createPage(page,pathUrl) {
var sumPage; $.ajax({
type:'GET', url:'data/'+pathUrl+'?page='+page, success:function (result) {
var obj=JSON.parse(result); var count=obj.count; sumPage=Math.ceil(count/20); // 将分页按钮渲染到HTML页面上 var pageHtml="
  • 上一页
  • "; // 这个是默认激活的第一个页面,所以要单独写出来,不可以循环渲染 pageHtml+="
  • 1
  • "; if(sumPage>=2){
    for(var j=0;j
    ${j+2}`; } } else{pageHtml+=''}; pageHtml+="
  • 下一页
  • "; $('.pagination').html(pageHtml); // 非点击按钮触发时候,其实只要保证上一页是禁用就行了,下一页没关系,它肯定不是禁用的 if($('.firstItem').hasClass('active')){$('.previousPage').addClass('disabled')} else{$('.previousPage').removeClass('disabled')} if(sumPage<=1){$('.nextPage').addClass('disabled')} // 获取1-7按钮的集合(这里以后要优化,现在是数据库只有7条数据,后续如果数据多了就不能这样了) var list=document.querySelectorAll('li.itemPage'); //点击1-7之间的按钮时触发事件 $(list).click(function () {
    $(this).addClass('active').siblings().removeClass('active'); if($('.firstItem').hasClass('active')){$('.previousPage').addClass('disabled')} else{$('.previousPage').removeClass('disabled')} if($('.nextPage').prev().hasClass('active')){$('.nextPage').addClass('disabled')} else{$('.nextPage').removeClass('disabled')} // 获取分页器每页对应的页数,然后点击数字,查询不同页数的内容 var i=$(this).children('a').html(); console.log(i); // 再判断条件来分页显示对应的列表信息 // 如果是商品总列表标签激活,就到总列表的php里面查询,以此类推 if($('#wholePhones').hasClass('current')){sortPhones(i,wholePhones)} if($('#lowPowerPhones').hasClass('current')){sortPhones(i,lowPowerPhones)} if($('#issuePhones').hasClass('current')){sortPhones(i,issuePhones)} if($('#losePhones').hasClass('current')){sortPhoness(i,losePhones)} }); // 在这里需要找到当前active的元素下标,然后点击时候要重新给index再赋值,因为慢一拍,所以点击时候index要+1 var index=parseInt($('.pagination li.active').children('a').html()); // 点击上一页按钮 $('.previousPage').click(function () {
    index=parseInt($('.pagination li.active').children('a').html())+1; if(index<=2){$('.firstItem').addClass('active').siblings().removeClass('active')} else{$('.pagination li.active').prev().addClass('active').siblings().removeClass('active');} //当上一页按钮后的一个元素是active时,让上一页按钮禁用 if($('.firstItem').hasClass('active')){$('.previousPage').addClass('disabled')} else{$('.previousPage').removeClass('disabled')} if($('.nextPage').prev().hasClass('active')){$('.nextPage').addClass('disabled')} else{$('.nextPage').removeClass('disabled')} // 获取分页器每页对应的页数,然后点击数字,查询不同页数的内容 var i=$('.pagination li.active').children('a').html(); console.log(i); // 再判断条件来分页显示对应的列表信息 // 如果是商品总列表标签激活,就到总列表的php里面查询,以此类推
                if($('#wholePhones').hasClass('current')){sortPhones(i,wholePhones)}                     if($('#lowPowerPhones').hasClass('current')){sortPhones(i,lowPowerPhones)}                     if($('#issuePhones').hasClass('current')){sortPhones(i,issuePhones)}                     if($('#losePhones').hasClass('current')){sortPhones(i,losePhones)}
    });                 //点击下一页按钮                 $('.nextPage').click(function (e) {
    e.preventDefault(); // 因为慢一拍,所以这里Index+1 index=parseInt($('.pagination li.active').children('a').html())+1; if(index>sumPage){
    $('.pagination li.active').addClass('active').siblings().removeClass('active'); } else{$('.pagination li.active').next().addClass('active').siblings().removeClass('active');} //当下一页按钮前的一个元素是active时,让下一页按钮禁用 if($('.firstItem').hasClass('active')){$('.previousPage').addClass('disabled')} else{$('.previousPage').removeClass('disabled')} if($('.nextPage').prev().hasClass('active')){$('.nextPage').addClass('disabled')} else{$('.nextPage').removeClass('disabled')} // 获取分页器每页对应的页数,然后点击数字,查询不同页数的内容 var i=$('.pagination li.active').children('a').html(); // 再判断条件来分页显示对应的列表信息 // 如果是车辆总列表标签激活,就到总列表的php里面查询,以此类推
                 if($('#wholePhones').hasClass('current')){sortPhones(i,wholePhones)}                     if($('#lowPowerPhones').hasClass('current')){sortPhones(i,lowPowerPhones)}                     if($('#issuePhones').hasClass('current')){sortPhones(i,issuePhones)}                     if($('#losePhones').hasClass('current')){sortPhones(i,losePhones)}
    });             },             error:function (err) {
    console.log(err) } }) } 第四步:
    // 刚加载页面时显示商品总列表的分页器以及总商品列表详情,所以page和pathUrl两个参数分别是1和wholePhones,WholePhones是全部商品列表的后台接口     (function () {
    if($('#wholePhones').hasClass('current')){createPage(1,wholePhones);} sortPhones(1,wholePhones); })();

    转载于:https://www.cnblogs.com/xusongfu5050/p/7361901.html

    你可能感兴趣的文章
    JavaScript异步之Generator、async、await
    查看>>
    讲讲吸顶效果与react-sticky
    查看>>
    c++面向对象的一些问题1 0
    查看>>
    直播视频流技术名词
    查看>>
    网易跟贴这么火,背后的某个力量不可忽视
    查看>>
    企业级java springboot b2bc商城系统开源源码二次开发-hystrix参数详解(八)
    查看>>
    java B2B2C 多租户电子商城系统- 整合企业架构的技术点
    查看>>
    IOC —— AOP
    查看>>
    比特币现金将出新招,推动比特币现金使用
    查看>>
    数据库的这些性能优化,你做了吗?
    查看>>
    某大型网站迁移总结(完结)
    查看>>
    mysql的innodb中事务日志(redo log)ib_logfile
    查看>>
    部署SSL证书后,网页内容造成页面错误提示的处理办法
    查看>>
    MS SQLSERVER通用存储过程分页
    查看>>
    60.使用Azure AI 自定义视觉服务实现物品识别Demo
    查看>>
    Oracle 冷备份
    查看>>
    jq漂亮实用的select,select选中后,显示对应内容
    查看>>
    C 函数sscanf()的用法
    查看>>
    python模块之hashlib: md5和sha算法
    查看>>
    linux系统安装的引导镜像制作流程分享
    查看>>