当前位置:首页 > 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
分享给朋友:

相关文章

jquery和vue的区别

jquery和vue的区别

jQuery 和 Vue.js 的区别 jQuery 和 Vue.js 是两种不同的前端技术,分别适用于不同的场景和开发需求。以下是它们的主要区别: 设计理念 jQuery 是一个轻量级的 Java…

vue实现选项卡分页

vue实现选项卡分页

实现选项卡分页的基本思路 在Vue中实现选项卡分页功能,可以通过动态组件或条件渲染结合数据绑定完成。核心逻辑是维护一个当前激活的选项卡状态,根据用户点击切换内容。 使用v-if条件渲染 通过v-if…

jquery插件

jquery插件

jQuery 插件开发指南 jQuery 插件是一种扩展 jQuery 功能的模块化方式,允许开发者封装可重用的代码。以下是开发和使用 jQuery 插件的基本方法。 插件基本结构 jQuery 插…

vue分页实现

vue分页实现

Vue 分页实现方法 基础分页组件实现 创建一个简单的分页组件,包含上一页、下一页和页码按钮。组件接收当前页码、总页数等参数,通过事件通知父组件页码变化。 <template> &l…

jquery 选中

jquery 选中

jQuery 选中元素的方法 jQuery 提供了多种方式来选中 DOM 元素,以下是一些常用的方法: 通过 ID 选中元素 使用 # 符号加上元素的 ID 来选中特定元素: $('#elemen…

jquery切换

jquery切换

jQuery切换操作 jQuery提供了多种切换方法,用于在元素状态之间进行切换,包括显示/隐藏、类名切换、属性切换等。以下是常见的jQuery切换方法: 显示与隐藏切换 使用toggle()方法可…