Jquery简单分页实现方法

下面就为您详细讲解如何实现Jquery简单分页,并附上两个示例说明。

什么是Jquery简单分页?

在开发web应用时,数据的展示通常需要使用分页技术进行展示,这样可以减轻页面的加载压力,同时也能够更好地进行数据筛选和搜索。Jquery简单分页技术就是通过Jquery插件来实现的类似于“上一页”、“下一页”等按钮,用户可以通过点击这些按钮来查看更多的数据。

Jquery实现分页步骤

1.引入Jquery库文件和Jquery分页插件

在head标签中引入Jquery库文件和Jquery分页插件的js和css文件。

<head>
  <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  <script src="https://cdn.bootcss.com/jquery.simplePagination.js/1.6/jquery.simplePagination.js"></script>
  <link rel="stylesheet" href="https://cdn.bootcss.com/jquery.simplePagination.js/1.6/simplePagination.css" />
</head>

2.设置分页基本参数

在代码中设置分页的基本参数,比如每页显示几条数据、总共有多少页等等。

var perPage = 5; //每页显示5条数据
var currentPage = 1; //当前页数
var totalPage = 20; //总页数

3.生成分页按钮

使用Jquery分页插件来生成分页按钮,代码如下:

$('#pagination').pagination({
  totalPages: totalPage, //总页数
  visiblePages: 5, //显示页数
  prevText: '<', //上一页
  nextText: '>', //下一页
  onPageClick: function(page, event) { //点击页码事件
    loadTableData(page); //加载当前页数据
  }
});

4.加载数据并显示分页效果

实现loadTableData函数来加载数据,代码如下:

function loadTableData(page) {
  var requestData = {
    limit: perPage,
    page: page
  };
  //发送Ajax请求
  $.ajax({
    type: 'GET',
    url: 'https://api.example.com/data',
    dataType: 'json',
    data: requestData,
    success: function(response) {
      var start = (page - 1) * perPage;
      var dataToShow = response.data.slice(start, start + perPage);
      //渲染表格数据
      renderTable(dataToShow);
    }
  });
}

5.完整示例一

下面是一个简单的完整示例,可以根据具体需要进行修改和优化。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Jquery Simple Pagination</title>
  <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  <script src="https://cdn.bootcss.com/jquery.simplePagination.js/1.6/jquery.simplePagination.js"></script>
  <link rel="stylesheet" href="https://cdn.bootcss.com/jquery.simplePagination.js/1.6/simplePagination.css" />
</head>

<body>
  <table id="data-table">
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Age</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
  </table>

  <div id="pagination"></div>

  <script type="text/javascript">
    //分页参数
    var perPage = 5;
    var currentPage = 1;
    var totalPage = 0;

    //初始化分页插件
    $('#pagination').pagination({
      totalPages: totalPage,
      visiblePages: 5,
      prevText: '<',
      nextText: '>',
      onPageClick: function(page, event) {
        loadTableData(page);
      }
    });

    //加载表格数据
    function loadTableData(page) {
      var requestData = {
        limit: perPage,
        page: page
      };

      $.ajax({
        type: 'GET',
        url: 'https://api.example.com/data',
        dataType: 'json',
        data: requestData,
        success: function(response) {
          var start = (page - 1) * perPage;
          var dataToShow = response.data.slice(start, start + perPage);
          totalPage = Math.ceil(response.total / perPage);
          $('#pagination').pagination('update', {//更新分页控件
            totalPages: totalPage,
            currentPage: page
          });
          renderTable(dataToShow);
        }
      });
    }

    //渲染表格数据
    function renderTable(data) {
      $('#data-table tbody').empty();
      $.each(data, function(index, item) {
        var row = '<tr>' +
          '<td>' + item.id + '</td>' +
          '<td>' + item.name + '</td>' +
          '<td>' + item.age + '</td>' +
          '</tr>';
        $('#data-table tbody').append(row);
      });
    }
    //默认加载第一页数据
    loadTableData(currentPage);
  </script>
</body>

</html>

6.完整示例二

下面是另一个完整示例,主要实现了分页按钮的样式自定义。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Jquery Simple Pagination with Style</title>
  <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  <script src="https://cdn.bootcss.com/jquery.simplePagination.js/1.6/jquery.simplePagination.js"></script>
  <link rel="stylesheet" href="https://cdn.bootcss.com/jquery.simplePagination.js/1.6/simplePagination.css" />
  <style>
    .paginationjs-pages {
      display: inline-block;
      margin: 20px 0px;
      text-align: center;
    }

    .paginationjs-pages li {
      display: inline-block;
      margin-right: 5px;
      border: 1px solid #ddd;
      padding: 5px 10px;
      cursor: pointer;
      background-color: #fff;
    }

    .paginationjs-pages li.active {
      font-weight: bold;
      border: 1px solid #aaa;
      background-color: #aaa;
      color: #fff;
      cursor: default;
    }

    .paginationjs-pages li.disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

    .paginationjs-prev,
    .paginationjs-next {
      display: inline-block;
      margin-right: 5px;
      border: 1px solid #ddd;
      padding: 5px 10px;
      cursor: pointer;
      background-color: #fff;
    }

    .paginationjs-prev.disabled,
    .paginationjs-next.disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

    .paginationjs-prev {
      margin-right: 10px;
    }

    .paginationjs-next {
      margin-left: 10px;
    }
  </style>
</head>

<body>
  <table id="data-table">
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Age</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
  </table>

  <div id="pagination"></div>

  <script type="text/javascript">
    //分页参数
    var perPage = 5;
    var currentPage = 1;
    var totalPage = 0;

    //初始化分页插件
    $('#pagination').pagination({
      totalPages: totalPage,
      visiblePages: 5,
      prevText: '<<',
      nextText: '>>',
      innerWindow: 2,
      outerWindow: 0,
      onPageClick: function(page, event) {
        loadTableData(page);
      },
      pageElementSort: ['$prev', 'num', 'num', 'num', 'num', '$next']//分页模板
    });

    //加载表格数据
    function loadTableData(page) {
      var requestData = {
        limit: perPage,
        page: page
      };

      $.ajax({
        type: 'GET',
        url: 'https://api.example.com/data',
        dataType: 'json',
        data: requestData,
        success: function(response) {
          var start = (page - 1) * perPage;
          var dataToShow = response.data.slice(start, start + perPage);
          totalPage = Math.ceil(response.total / perPage);
          $('#pagination').pagination('update', {
            totalPages: totalPage,
            currentPage: page
          });
          renderTable(dataToShow);
        }
      });
    }

    //渲染表格数据
    function renderTable(data) {
      $('#data-table tbody').empty();
      $.each(data, function(index, item) {
        var row = '<tr>' +
          '<td>' + item.id + '</td>' +
          '<td>' + item.name + '</td>' +
          '<td>' + item.age + '</td>' +
          '</tr>';
        $('#data-table tbody').append(row);
      });
    }
    //默认加载第一页数据
    loadTableData(currentPage);
  </script>
</body>

</html>

以上就是Jquery简单分页实现方法的完整攻略啦,希望能帮助到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jquery简单分页实现方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jquery实现简单的自动播放幻灯片效果

    下面我将详细介绍如何使用jQuery实现简单的自动播放幻灯片效果。 1. 准备工作 在实现幻灯片效果之前,首先需要准备好页面结构和相关的资源文件,包括以下内容: HTML结构:幻灯片容器及图片容器; CSS样式:幻灯片容器和图片容器的样式; jQuery库文件:需要在页面中引入jQuery库文件。 参考HTML代码如下: <div class=&quo…

    jquery 2023年5月28日
    00
  • 如何使用jQuery Mobile创建Mini collapsibles

    以下是使用jQuery Mobile创建Mini Collapsibles的攻略。 1. 环境准备 在开始之前,请确保你已经在你的web页面中引入了jQuery和jQuery Mobile的库文件,例如: <!DOCTYPE html> <html> <head> <meta charset="utf-8&…

    jquery 2023年5月12日
    00
  • jQuery Mobile Pagecontainer移除事件

    jQuery Mobile Pagecontainer是一种用于处理移动设备上网页应用页面导航的工具,利用该工具可以实现快速定位到目标页面、进行数据预加载等功能。在使用Pagecontainer时,经常需要根据需要动态地添加或移除页面元素。本文将详细讲解如何使用jQuery Mobile Pagecontainer移除事件。 1. Pagecontainer…

    jquery 2023年5月12日
    00
  • 浅析Javascript中bind()方法的使用与实现

    让我来为您详细讲解“浅析Javascript中bind()方法的使用与实现”的完整攻略。 1. 概述 在Javascript中,bind()方法是用来指定函数的this指向的方法。通常,在使用一些回调函数或者传递函数参数的时候,我们需要将函数绑定在指定的对象上面,这样才能保证函数中的this指向它所在的对象。 bind()方法可以通过一个对象来调用并返回一个…

    jquery 2023年5月27日
    00
  • jQuery :lang() 选择器

    以下是关于jQuery中的:lang()选择器的完整攻略: 什么是jQuery中的:lang()选择器? jQuery中的:lang()选择器是一种用于选择指定语言的元素的语法。使用这个选择器可以轻松选择页面中指定言的元素对其进行操作。 如何使用jQuery中的:lang()选择器? 可以使用代码来选择指定语言的元素: $("[lang|=en]&…

    jquery 2023年5月12日
    00
  • 通过jQuery学习js类型判断的技巧

    下面我将详细介绍通过jQuery学习JavaScript类型判断的技巧。 1. 理解JavaScript中的基本数据类型 JavaScript中包括6种基本数据类型和1种复杂数据类型,它们是:- 基本数据类型: number, string, boolean, null, undefined, symbol。- 复杂数据类型: object。 其中,numb…

    jquery 2023年5月28日
    00
  • jQWidgets jqxPasswordInput val() 方法

    以下是关于 jQWidgets jqxPasswordInput 组件中 val() 方法的详细攻略。 jQWidgets jqxPasswordInput val() 方法 jQWidgets jqxPasswordInput 组件的 val 方法用于获取或设置密码输入框的值。 语法 // 获取密码输入框的值 var password = $(‘#pass…

    jquery 2023年5月12日
    00
  • jQWidgets jqxMenu openItem()方法

    以下是关于 jQWidgets jqxMenu 组件中 openItem() 方法的详细攻略。 jQWidgets jqxMenu openItem() 方法 jQWidgets jqxMenu 组件的 openItem 方法用于打开指定的菜单项。该方法通过编程方式调用,也可以通过单击菜单项来调用。 语法 $(‘#menu’).jqxMenu(‘openIt…

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部