jQuery分页源码

为方便朋友理解分页,特地给她用jQuery写个分页模型;
样式可自行调整,若需要跳转页面或其它功能,就自行增加了;
话不多说,直接上码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>分页</title>
</head>
<style type="text/css">
    #pagerForm {background: #FFFFFF}
    .pagination {
        padding: 5px;
        font-size:14px
    }
    .pagination a, .pagination a:link, .pagination a:visited {
        padding:10px 16px;
        margin:2px;
        border:1px solid #3E90F7;
        border-radius: 4px!important;
        text-decoration:none;
        color:#3E90F7
    }
    .pagination a:hover, .pagination a:active {
        background: #3E90F7;
        color: #FFFFFF;
        border: 1px solid #3E90F7;
        border-radius:4px !important;
        text-decoration: none
    }
    .pagination span.current{
        padding: 10px 16px;
        margin: 2px;
        border: 1px solid #3E90F7;
        border-radius:4px !important;
        font-weight: bold;
        background-color: #3E90F7;
        color: #FFFFFF
    }
    .pagination span.disabled {
        padding: 10px 16px;
        margin: 2px;
        border: 1px solid #eee;
        border-radius: 4px !important;
        color: #ddd
    }
    #select {
        padding: 5px 0px;
        border: 1px solid rgba(228, 228, 228, 1);
        border-radius:4px !important
    }
</style>
<body>
    <div class="pagination">
        <form id="pagerForm">
        </form >
    </div> 
</body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>   
<script>
    var pageIndex=1;
    var pageSize=10;
    var pageCount=100;

    window.runPage=function runPage(pageIndex,pageSize,pageCount){
        var start = 1;
        var end = pageIndex + 1;

        //页号越界处理
        if (pageIndex > pageCount) {
            pageIndex = pageCoun;
        }
        if (pageIndex < 1) {
            pageIndex = 1;
        }

        //上一页处理
        var disabled;
        if(pageIndex == 1){
            disabled=$('<span class="disabled">上一页</span>');
        }else{
            disabled=$('<a href="javascript:void(0);" onclick="toPage('+(pageIndex-1)+')">上一页</a>');
        }
        disabled.appendTo('#pagerForm');

        //如果前面页数过多,显示...
        if (pageIndex > 4) {
            start = pageIndex - 1;
            var a1 = $('<a href="javascript:void(0);" onclick="toPage(1)">1</a>');
            var a2 = $('<a href="javascript:void(0);" onclick="toPage(2)">2</a>&hellip;');
            a1.appendTo('#pagerForm');
            a2.appendTo('#pagerForm');
            var i1 = $('<i> ... </i>');
            i1.appendTo('#pagerForm');
        }

        //显示当前页号和它附近的页号
        if(end> pageCount){
            end=pageCount;
        }
        for (var i = start;i <= end; i++) {
            if (pageIndex == i) {
                var current = $('<span class="current">' + i + '</span>');
                current.appendTo('#pagerForm');
            } else {
                var noCurrent = $('<a href="javascript:void(0);" onclick="toPage(' + i + ')">' + i + '</a>');
                noCurrent.appendTo('#pagerForm');
            }
        }

        //如果后面页数过多,显示...
        if (end < pageCount - 2) {
            var i2 = $('<i> ... </i>');
            i2.appendTo('#pagerForm');
        }

        if (end < pageCount - 1) {
            var a3 = $('<a href="javascript:void(0);" onclick="toPage(' + (pageCount - 1) + ')">' + (pageCount - 1) + '</a>');
            a3.appendTo('#pagerForm');
        }

        if (end < pageCount) {
            var a4 = $('<a href="javascript:void(0);" onclick="toPage(' + pageCount + ')">' + pageCount + '</a>');
            a4.appendTo('#pagerForm');
        }

        var lastSpan;
        if (pageIndex == pageCount) {
            lastSpan = $('<span class="disabled">下一页</span>');
        } else {
            lastSpan = $('<a href="javascript:void(0);" onclick="toPage(' + (pageIndex + 1) + ')">下一页</a>');
        }
        lastSpan.appendTo('#pagerForm');
    }

    runPage(pageIndex, pageSize, pageCount);

    function toPage(index){
	    //获取当前页码
        $('#pagerForm').text('');
	    pageIndex=index;
        runPage(pageIndex, pageSize, pageCount);

	    // 设置表单请求的URL地址
	    // $("#pagerForm").action="${toURL}";
	    // 表单提交
	    // $("#pagerForm").submit();
	  }
</script>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TP3.2 是一个基于PHP的开源框架,它提供了很多方便的功能,其中包括利用jQuery Ajax实现分页功能。下面是一个例子说明如何使用jQuery Ajax实现前台与后台的分页功能: 前台源码: ```html <!DOCTYPE html> <html> <head> <title>分页示例</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(document).ready(function(){ var currentPage = 1; // 当前页码 // 加载数据函数 function loadData(page){ $.ajax({ url: 'loadData.php', type: 'POST', data: {page: page}, success: function(response){ $("#dataContainer").html(response); } }); } // 初始加载数据 loadData(currentPage); // 点击页面切换按钮 $(document).on("click", ".pagination a", function(e){ e.preventDefault(); var page = $(this).attr("data-page"); currentPage = page; loadData(currentPage); }); }); </script> </head> <body> <div id="dataContainer"></div> </body> </html> ``` 后台源码(loadData.php): ```php <?php include "dbconfig.php"; // 引入数据库配置文件 $page = $_POST['page']; $perPage = 10; // 每页显示记录数 $offset = ($page - 1) * $perPage; // 计算偏移量 $result = $conn->query("SELECT * FROM your_table LIMIT $offset, $perPage"); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "<p>{$row['name']}</p>"; } } $conn->close(); ?> ``` 上述代码中,前台页面加载时会发送一个Ajax请求到后台的`loadData.php`文件,同时传递一个`page`参数表示当前页码。后台根据参数查询对应的数据,并将结果返回给前台,然后前台更新页面内容。用户可以通过点击页面切换按钮,改变`page`参数的值,从而实现翻页功能。 需要注意,后台代码中的`dbconfig.php`文件应该包含数据库连接的配置信息,以确保能够成功连接数据库并查询数据。 这只是一个简单的分页功能示例,你可以根据自己的实际情况进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值