jQuery是一個(gè)極其實(shí)用的JavaScript庫(kù),它可以很好的優(yōu)化頁(yè)面性能。而對(duì)于一個(gè)需要加載大量數(shù)據(jù)的網(wǎng)站,通過(guò)jQuery實(shí)現(xiàn)頁(yè)面滾動(dòng)加載數(shù)據(jù)是一種高效的方法。下面我們通過(guò)代碼演示來(lái)實(shí)現(xiàn)這一功能。
$(function(){ var pageIndex = 1;//當(dāng)前頁(yè)碼 var isEnd = false;//是否到達(dá)數(shù)據(jù)末尾 $(window).scroll(function(){ //判斷是否到達(dá)底部并且沒(méi)有到達(dá)數(shù)據(jù)末尾 if($(window).scrollTop()+$(window).height()>=$(document).height()&& !isEnd){ //發(fā)送ajax請(qǐng)求 $.ajax({ type:'get', url:'getData.php', data:{pageIndex:pageIndex}, dataType:'json', success:function(data){ //判斷是否為最后一頁(yè) if(data.length >0){ //數(shù)據(jù)渲染 for(var i=0;i' $('#dataList').append(html); } pageIndex++; }else{ isEnd = true;//到達(dá)數(shù)據(jù)末尾 } } }) } }); });
在代碼中我們通過(guò)監(jiān)聽(tīng)頁(yè)面的scroll事件來(lái)判斷是否到達(dá)底部,并通過(guò)發(fā)送ajax請(qǐng)求獲取后續(xù)數(shù)據(jù)。當(dāng)獲取到數(shù)據(jù)后判斷是否為最后一頁(yè),如果不是則通過(guò)jQuery的append方法將數(shù)據(jù)渲染到頁(yè)面上。注意要實(shí)時(shí)更新當(dāng)前頁(yè)碼。
通過(guò)這種方式實(shí)現(xiàn)頁(yè)面滾動(dòng)加載數(shù)據(jù),可以大大優(yōu)化網(wǎng)站的性能,提高用戶(hù)的體驗(yàn)。