当前位置:首页 > jquery

分页jquery

2026-03-02 19:01:10jquery

分页 jQuery 实现方法

方法一:使用 jQuery Pagination 插件

安装插件并引入相关文件:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.pagination/1.4.2/jquery.pagination.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.pagination/1.4.2/pagination.css">

初始化分页:

$(function() {
    $("#pagination").pagination({
        items: 100, // 总条目数
        itemsOnPage: 10, // 每页显示条目数
        cssStyle: 'light-theme',
        onPageClick: function(pageNumber) {
            // 处理页码点击事件
            loadPageData(pageNumber);
        }
    });
});

方法二:自定义 jQuery 分页

HTML 结构:

<div class="pagination-container"></div>
<div class="data-container"></div>

JavaScript 实现:

分页jquery

function createPagination(totalItems, itemsPerPage, currentPage) {
    const totalPages = Math.ceil(totalItems / itemsPerPage);
    let paginationHtml = '<ul class="pagination">';

    // 上一页按钮
    if (currentPage > 1) {
        paginationHtml += `<li><a href="#" data-page="${currentPage - 1}">上一页</a></li>`;
    }

    // 页码按钮
    for (let i = 1; i <= totalPages; i++) {
        const activeClass = (i === currentPage) ? 'active' : '';
        paginationHtml += `<li class="${activeClass}"><a href="#" data-page="${i}">${i}</a></li>`;
    }

    // 下一页按钮
    if (currentPage < totalPages) {
        paginationHtml += `<li><a href="#" data-page="${currentPage + 1}">下一页</a></li>`;
    }

    paginationHtml += '</ul>';
    $('.pagination-container').html(paginationHtml);
}

// 事件绑定
$(document).on('click', '.pagination a', function(e) {
    e.preventDefault();
    const page = $(this).data('page');
    loadPageData(page);
});

方法三:结合 AJAX 实现动态分页

数据加载函数示例:

function loadPageData(page) {
    $.ajax({
        url: '/api/data',
        type: 'GET',
        data: { page: page, limit: 10 },
        success: function(response) {
            // 更新数据容器
            $('.data-container').html(response.data);

            // 更新分页
            createPagination(response.total, 10, page);
        }
    });
}

方法四:使用 DataTables 插件实现高级分页

分页jquery

引入 DataTables:

<link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css">
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>

初始化表格分页:

$(document).ready(function() {
    $('#example').DataTable({
        "paging": true,
        "pageLength": 10,
        "lengthChange": false,
        "serverSide": true,
        "ajax": {
            "url": "/api/data",
            "type": "POST"
        }
    });
});

分页样式优化

CSS 基础样式:

.pagination {
    display: flex;
    list-style: none;
    padding: 0;
}

.pagination li {
    margin: 0 5px;
}

.pagination li a {
    padding: 5px 10px;
    border: 1px solid #ddd;
    text-decoration: none;
}

.pagination li.active a {
    background: #337ab7;
    color: white;
    border-color: #337ab7;
}

响应式分页处理

窗口大小变化时调整分页:

$(window).resize(function() {
    if ($(window).width() < 768) {
        $('.pagination li:not(.active)').hide();
    } else {
        $('.pagination li').show();
    }
});

以上方法提供了从简单到复杂的不同 jQuery 分页实现方案,可根据项目需求选择合适的方式。插件方案适合快速开发,自定义方案则提供了更大的灵活性。

标签: 分页jquery
分享给朋友:

相关文章

vue 实现分页

vue 实现分页

分页实现方法 在Vue中实现分页功能,可以通过计算属性和方法结合来实现。以下是一个典型的分页实现方式: 模板部分 <template> <div> <ul…

jquery中

jquery中

jQuery 基础概念 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。其核心特点是“写得更少,做得更多”(Write L…

jquery 控件

jquery 控件

jQuery 控件概述 jQuery 控件是基于 jQuery 库开发的交互式 UI 组件,用于增强网页功能。这些控件通常提供表单元素、数据展示、导航等功能,简化开发流程。 常用 jQuery 控件…

jquery 导航

jquery 导航

jQuery 导航实现方法 使用jQuery创建动态导航菜单 通过jQuery可以轻松实现导航菜单的动态效果,如下拉菜单、滑动菜单等。以下是一个基础的下拉导航实现示例: <ul class=…

jquery dom

jquery dom

jQuery DOM 操作指南 jQuery 提供了丰富的 DOM 操作方法,可以简化原生 JavaScript 的 DOM 操作。以下是常用的 jQuery DOM 操作方法: 选择元素 使用 j…

vue实现后台分页

vue实现后台分页

Vue 实现后台分页的方法 分页组件与数据绑定 在 Vue 中实现后台分页通常需要结合分页组件和后端 API。使用 el-pagination(Element UI)或自定义分页组件,通过 v-mod…