首页 > 其他分享 >基于bootstrap与jQuery实现的分页功能(多余部分省略号代替)

基于bootstrap与jQuery实现的分页功能(多余部分省略号代替)

时间:2024-07-11 09:43:48浏览次数:15  
标签:jQuery totalPage 省略号 bootstrap else paginationInfo currentPage 页码

基于bootstrap与jQuery实现的分页功能(多余部分省略号代替)

 

<nav aria-label='Page navigation' id='nav_navigation'></nav>
<script type='text/javascript'>
/**
 * 刷新页码方法
 * @param totalPage
 * @param currentPage
 */
function refreshPages (totalPage, currentPage) {
  //安全判断

  if (currentPage < 1) {
    currentPage = 1
  }

  if (currentPage > totalPage) {
    currentPage = totalPage
  }

  var paginationInfo = getPagination(totalPage, currentPage)
  //用id选择器写入页码部分代码(根据需求修改)
  $('#nav_navigation').html(paginationInfo)
}

/**
 * 获取分页
 * @param totalPage
 * @param currentPage
 * @returns {string}
 */
function getPagination (totalPage, currentPage) {
  var paginationInfo = '<ul class=\'pagination .pagination-sm\' >'
  if (currentPage == 1) {
    paginationInfo +=
      '<li class=\'disabled\'><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
      totalPage +
      ' , ' +
      (currentPage - 1) +
      ');searchJob(' +
      (currentPage - 1) +
      ')\'' +
      '>«</a></li>'
  } else {
    //前一页
    paginationInfo +=
      '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
      totalPage +
      ' , ' +
      (currentPage - 1) +
      ');searchJob(' +
      (currentPage - 1) +
      ')\'' +
      '>«</a></li>'
  }

  if (totalPage <= 10) {
    //totalPage<=10
    for (var i = 1; i <= totalPage; i++) {
      if (i == currentPage) {
        paginationInfo +=
          '<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
          totalPage +
          ' , ' +
          i +
          ' );searchJob(' +
          i +
          ')\'>' +
          i +
          ' </a></li>'
      } else {
        paginationInfo +=
          '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
          totalPage +
          ' , ' +
          i +
          ' );searchJob(' +
          i +
          ')\'>' +
          i +
          ' </a></li>'
      }
    }
  } else {
    //totalPage > 10

    if (currentPage <= 3) {
      for (var i = 1; i <= currentPage + 2; i++) {
        //页码1、2

        if (i == currentPage) {
          paginationInfo +=
            '<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
            totalPage +
            ' , ' +
            i +
            ');searchJob(' +
            i +
            ')\'>' +
            i +
            '</a></li>'
        } else {
          paginationInfo +=
            '<li > <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
            totalPage +
            ' , ' +
            i +
            ');searchJob(' +
            i +
            ')\'>' +
            i +
            '</a></li>'
        }
      }
      paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'

      //最后一页的页码

      paginationInfo +=
        '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
        totalPage +
        ' , ' +
        totalPage +
        ');searchJob(' +
        totalPage +
        ')\'>' +
        totalPage +
        '</a></li>'
    } else if (currentPage <= totalPage - 5) {
      //totalPage > 10   currentPage > 3 currentPage<=totalPage-5,  页码在中间部分

      //页码为1的代码

      paginationInfo +=
        '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
        totalPage +
        ' , ' +
        1 +
        ');searchJob(1)\'>' +
        1 +
        '</a></li>'

      //页码1后面的省略号

      paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'

      //中间部分代码
      for (var i = currentPage - 1; i <= currentPage + 2; i++) {
        if (i == currentPage) {
          paginationInfo +=
            '<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
            totalPage +
            ' , ' +
            i +
            ');searchJob(' +
            i +
            ')\'>' +
            i +
            '</a></li>'
        } else {
          paginationInfo +=
            '<li> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
            totalPage +
            ' , ' +
            i +
            ');searchJob(' +
            i +
            ')\'>' +
            i +
            '</a></li>'
        }
      }

      //后面的省略号

      paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'

      //最后一个页码

      paginationInfo +=
        '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
        totalPage +
        ' , ' +
        totalPage +
        ');searchJob(' +
        totalPage +
        ')\'>' +
        totalPage +
        '</a></li>'
    } else {
      //totalPage > 10  并且currentPage > totalPage-5 显示后面的页码

      //页码1

      paginationInfo +=
        '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
        totalPage +
        ' , ' +
        1 +
        ');searchJob(1)\'>' +
        1 +
        '</a></li>'

      //省略号

      paginationInfo += '<li><a href=\'javascript:void(0);\'>...</a></li>'

      //最后几位页码

      for (var i = currentPage - 1; i <= totalPage; i++) {
        if (i == currentPage) {
          paginationInfo +=
            '<li class=\'active\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
            totalPage +
            ' , ' +
            i +
            ');searchJob(' +
            i +
            '\'>' +
            i +
            '</a></li>'
        } else {
          paginationInfo +=
            '<li> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
            totalPage +
            ' , ' +
            i +
            ');searchJob(' +
            i +
            ')\'>' +
            i +
            '</a></li>'
        }
      }
    }
  }

  //下一页

  if (currentPage == totalPage) {
    paginationInfo +=
      '<li class=\'disabled\'> <a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
      totalPage +
      ' , ' +
      (currentPage + 1) +
      ');searchJob(' +
      (currentPage + 1) +
      ')\'' +
      '>»</a></li>'
  } else {
    paginationInfo +=
      '<li><a href=\'javascript:void(0);\' onclick=\'refreshPages(' +
      totalPage +
      ' , ' +
      (currentPage + 1) +
      ');searchJob(' +
      (currentPage + 1) +
      ')\'' +
      '>»</a></li>'
  }

  paginationInfo += '</ul>'

  //返回结果

  return paginationInfo
}
</script>

 

本文转载自:

https://blog.xgblack.cn/paging-based-on-bootstrap-and-jquery/

 

标签:jQuery,totalPage,省略号,bootstrap,else,paginationInfo,currentPage,页码
From: https://www.cnblogs.com/yeminglong/p/18295422

相关文章

  • Vue2项目中的Bootstrap如何使用
    一.依赖导入利用npm导入依赖,具体版本号可以区Bootstrap官网查看 Bootstrap [email protected]二.导入包(注意Bootstrap的css和js文件需要单独引入)在vue项目目录下找到main.js文件,在里面引入Bootstrap的css和js文件,样例如下图所示。importVuefrom'vue'im......
  • bootstrap-fileinput 使用
    参考文档:http://www.bootstrap-fileinput.com/options.html视频和图片上传和展示:<divclass="form-grouprow"><labelfor="video_path"class="col-sm-2col-form-label"><spanclass="text-danger">*<......
  • Vue中引入jQuery两种方式可在vue中引入jQuery
    第一种:普通html中使用jquery将jQuer的文件导入到项目中,然后直接使用<scriptsrc="jQuery.js"></script>即可。第二种:vue组件中使用jquery1、安装依赖cnpminstalljquery--save或者npminstalljquery--save;2、此处也有两种方式一、组件中直接使用jquery二、使用全局变量......
  • selenium03_控制台调试xpath/css语法,代码执行jQuery
    1.控制台调试Xpath语法示例: 按F12,调出控制台Console,调试Xpath语法的格式:$x("xpath语法")。如:$x("//*[@id='kw']")    2.控制台调试css语法调试css语法的格式:$("css语法")。如:$("#kw")   3.代码执行jQueryjQuery是从css语法演变过来的,其实就是css,用到css语言......
  • Bootstrap/布局
    Bootstrap/布局目录Bootstrap/布局断点容器网格列沟槽null断点BreakpointClassinfixDimensionsExtrasmallNone<576pxSmallsm≥576pxMediummd≥768pxLargelg≥992pxExtralargexl≥1200pxExtraextralargexxl≥1400px容器容器可以......
  • 原生js实现http请求--模拟jquery的ajax函数
     有时页面用到请求,但又不想引入jquery或者其他网络请求,增加代码冗余,增加对代码简便化,那不使用ajax情况下,可以直接使用原生js进行封装函数。原生的js通过XMLHttpRequest 对象进行的的。具体可查阅W3school的XMLHttpRequest 对象。1、封装可供请求调用的函数 functionht......
  • 【jQuery】ajax请求成功,状态却是200
    AJAX状态为200,这类状态代码表明服务器成功地接受了客户端请求。简单的来说成功发送一个AJAX请求,但是就是不进入success事件,进入error事件。$.ajax({type:'GET',url:'getEstimatePDFPath.php',headers:{"token":token},dataType:......
  • jQuery
    一、JQuery了解1.原生JS的问题我们会发现原生的JS编程很麻烦,尤其在兼容性的问题选择元素,权限兼容的只有getElementById和getElementsByTagName;其他方法都有兼容问题样式操作也有兼容问题,还得我们自己封装,封装getStyle()动画也麻烦,也得自己封装,封装animation()HTML节点操作......
  • jQuery
    一、JQuery了解1.原生JS的问题我们会发现原生的JS编程很麻烦,尤其在兼容性的问题选择元素,权限兼容的只有getElementById和getElementsByTagName;其他方法都有兼容问题样式操作也有兼容问题,还得我们自己封装,封装getStyle()动画也麻烦,也得自己封装,封装animation()HTML节......
  • 初识jQuery
    jQuery简介:2006年创建的一个JavaScript库jQuery,为了解决开发过程中的兼容性问题;集JavaScript、CSS、DOM和Ajax于一体的强大框架体系;它的主旨是以更少的代码实现更多的功能(Write?less,do?more)jQuery的基本功能:a.访问和操作DOM元素b.对页面事件的处理c.大量插......