【无标题】前端如何实现分页?

06-01 1528阅读

前端如何实现分页?

以下是对代码的逐条总结与解释,按 HTML、JavaScript、CSS 顺序分模块列出,每条代码单独说明:

一、HTML 代码解释

1. 表格容器
html
  1. 作用:定义表格,应用 Bootstrap 样式。
  2. 说明:

    class=“table”:基础表格样式。

    class=“table-bordered”:显示表格边框。

    class=“table-hover”:鼠标悬停时行高亮。

2. 表格表头
html

    
  1. 作用:定义表格列标题。
  2. 说明:

'); // 显示加载状态
    $.ajax({
        type: 'GET', // GET请求
        url: '/admin/getUsersFromManagerWithPaging', // 后端分页接口
        data: { pageNum, pageSize: rowsPerPage }, // 传递页码和每页大小
        success: function(response) { // 成功回调
            const userList = response.list || []; // 当前页数据(默认空数组)
            totalPages = response.totalPage || 1; // 总页数(默认1页)
            $tableBody.empty(); // 清空旧数据
            if (userList.length > 0) { // 有数据时渲染
                userList.forEach(user => { // 遍历生成表格行
                    const row = $('
') .attr('data-user-id', user.id) // 存储用户ID .append(/* 7个单元格,填充数据 */); // 生成各列内容 $tableBody.append(row); // 添加行到表格 }); $pageNav.show(); // 显示分页导航 } else { // 无数据时显示提示 $tableBody.html('暂无用户数据'); $pageNav.hide(); } updatePagination(); // 更新分页按钮状态 }, error: function(error) { // 错误处理 console.error('加载失败:', error); $tableBody.html('加载失败,请重试'); $pageNav.hide(); } }); }
  1. 作用:向后端请求数据并渲染到表格。
  2. 说明:

    $.ajax:发送异步请求获取分页数据。

    response.list:当前页用户列表,response.totalPage:总页数。

    $tableBody.empty():避免新旧数据叠加。

    updatePagination():根据数据更新分页导航。

3. 分页导航更新函数 updatePagination
javascript
function updatePagination() {
    $pageNav.empty(); // 清空旧按钮
    // 上一页按钮
    const prevBtn = $('
  • ') .append($('').text('上一页')); if (currentPage === 1) prevBtn.addClass('disabled'); // 首页禁用 else prevBtn.click(() => loadPage(currentPage - 1)); // 非首页绑定点击事件 $pageNav.append(prevBtn); // 添加到导航 // 计算可见页码范围(最多5个) const maxVisiblePages = 5; let startPage = Math.max(1, currentPage - 2); // 起始页(当前页-2,最小1) let endPage = Math.min(totalPages, startPage + 4); // 结束页(起始页+4,最大总页数) // 左侧省略号 if (startPage > 1) $pageNav.append('...'); // 生成页码按钮 for (let i = startPage; i const btn = $('
  • 选择 头像 用户名 邮箱 性别 状态 操作
    :表头单元格,加粗居中显示,标识各列数据类型。
    3. 表格主体
    html
    
        
    
    
    1. 作用:动态加载数据的容器。
    2. 说明:

      id=“postList”:供 JavaScript 选择和操作,初始为空。

    4. 分页导航容器

    html

    
    
    1. 作用:生成分页按钮的容器。
    2. 说明:

      id=“pageNav”:JavaScript 动态生成按钮的目标元素。

      class=“pagination”:Bootstrap 分页样式。

      justify-content-center:分页导航居中对齐。

    二、JavaScript 代码解释

    1. 初始化与全局变量
    javascript
    $(document).ready(function() {
        const rowsPerPage = 4; // 每页显示4条,与后端pageSize一致
        const $tableBody = $('#postList'); // 选择表格主体
        const $pageNav = $('#pageNav'); // 选择分页容器
        let currentPage = 1; // 当前页码
        let totalPages = 1; // 总页数,初始为1
        loadPage(1); // 加载第一页数据
    });
    
    1. 作用:页面加载后初始化变量并加载数据。
    2. 说明:

      rowsPerPage:前端每页显示数量,需与后端一致。

      $tableBody 和 $pageNav:通过 id 选择 DOM 元素。

      currentPage 和 totalPages:跟踪分页状态。

      loadPage(1):触发第一页数据加载。

    2. 数据加载函数 loadPage
    javascript
    function loadPage(pageNum) {
        currentPage = pageNum; // 更新当前页码
        $tableBody.html('
    加载中...
    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

    相关阅读

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码