Ajax分頁是一種通過AJAX技術(shù)實(shí)現(xiàn)網(wǎng)頁分頁的方法。jQuery是一種非常流行的JavaScript庫,可以方便地實(shí)現(xiàn)各種網(wǎng)頁效果。結(jié)合jQuery和Ajax技術(shù),我們可以很容易地實(shí)現(xiàn)分頁功能。
$(document).ready(function() { //初始化頁面 load_data(); }); function load_data(page) { $.ajax({ url: "data.php", method: "POST", data: {page: page}, success: function(data) { $("#table_data").html(data); } }); }
首先,在document對象的ready()方法中調(diào)用load_data()函數(shù),初始化頁面。load_data()函數(shù)使用jQuery的ajax()方法向服務(wù)器發(fā)送請求,獲取數(shù)據(jù),并用html()方法替換掉id為"table_data"的元素的內(nèi)容,完成頁面刷新。其中,data.php是服務(wù)器端處理分頁請求的腳本,通過POST方式接收參數(shù)page,返回?cái)?shù)據(jù)。
$(document).on("click", ".pagination_link", function() { var page = $(this).attr("id"); load_data(page); });
其次,在document對象上綁定click事件,使用jQuery的on()方法,監(jiān)聽class為"pagination_link"的元素的點(diǎn)擊事件,觸發(fā)load_data()函數(shù),傳入被點(diǎn)擊元素的id作為參數(shù)。這里的".pagination_link"是通過服務(wù)器端腳本生成的分頁鏈接,通過jQuery生成的DOM元素,并且在初始化頁面時(shí)被創(chuàng)建出來。因?yàn)檫@些鏈接是動態(tài)生成的,不能直接在document對象上綁定事件,需要使用on()方法的事件委托功能。
<div id="pagination"> <ul class="pagination"> <?php for($i=1;$i<=$total_pages;$i++) { ?> <li class="page-item"> <a href="#" class="page-link pagination_link" id="<?php echo $i; ?>"><?php echo $i; ?></a> </li> <?php } ?> </ul> </div>
最后,在HTML代碼中生成分頁鏈接元素,使用class為"pagination_link",id為頁碼的超鏈接。這里使用了服務(wù)器端腳本,循環(huán)生成$page_num個(gè)li元素,每個(gè)li元素包含一個(gè)超鏈接元素。注意,這里的li元素和ul元素使用了Bootstrap框架的樣式,可以根據(jù)需要進(jìn)行修改。