最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JQuery頁面隨滾動條動態(tài)加載效果的簡單實現(xiàn)(推薦)

 更新時間:2017年02月08日 09:17:33   投稿:jingxian  
下面小編就為大家?guī)硪黄狫Query頁面隨滾動條動態(tài)加載效果的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Google閱讀器上有一個AJAX scollLoad效果很不錯,就是閱讀項目時不需要翻頁,瀏覽器滾動條往下拉到一定位置時自動加載新的一批項目進(jìn)來,一直到所有項目加載完為止。要知道,數(shù)據(jù)量增加很頻繁時,要通過定位頁碼來找到目標(biāo)數(shù)據(jù)似乎并沒有什么意義。我覺得用戶體驗成熟的WEB應(yīng)用程序應(yīng)當(dāng)引導(dǎo)用戶使用TAG或搜索等功能來找到目標(biāo)數(shù)據(jù)。至于瀏覽數(shù)據(jù),尤其是瀏覽最新的數(shù)據(jù),利用瀏覽器滾動條來加載,是很好的嘗試……

我試著用jquery來實現(xiàn)這個功能。先要得到滾動條的總長屬性值:scrollHeight,還有滾動條當(dāng)前位置屬性值:scrollTop。然后通過計算,若當(dāng)前值位于總長值三分之二時加載新數(shù)據(jù)。假設(shè)DOM上有一個元素為,該元素overflow樣式為scroll,也就是元素中的內(nèi)容溢出元素指定高度時啟用滾動條。利用jquery的load方法為元素加載一個已經(jīng)存在的文件,我假設(shè)它是table.html。這個文件的內(nèi)容可以是足以使瀏覽器滾屏的一張數(shù)據(jù)表。

jquery.js“>// 加載jquery庫

var hght=0;//初始化滾動條總長
var top=0;//初始化滾動條的當(dāng)前位置
$(document).ready(function() {//DOM的onload事件
$(”#mypage”).load(”table.html”);//table.html的內(nèi)容被加載到 mypage元素

$(”#mypage”).scroll( function() {//定義滾動條位置改變時觸發(fā)的事件。
hght=this.scrollHeight;//得到滾動條總長,賦給hght變量
top=this.scrollTop;//得到滾動條當(dāng)前值,賦給top變量
});
});

setInterval(”cando();”,2000);//每隔2秒鐘調(diào)用一次cando函數(shù)來判斷當(dāng)前滾動條位置。

function cando(){
if(top>parseInt(hght/3)*2)//判斷滾動條當(dāng)前位置是否超過總長的2 /3,parseInt為取整函數(shù)
show();//如果是,調(diào)用show函數(shù)加載內(nèi)容。
}

function show(){
$.get(”table.html”, function(data){//利用jquery的get方法得到table.html內(nèi)容
$(”#mypage”).append(data);//用append方法追加內(nèi)容到mypage元素。
hght=0;//恢復(fù)滾動條總長,因為$(”#mypage”).scroll事件一觸發(fā),又會得到新值,不恢復(fù)的話可能會造成判斷錯誤而再次加載……
top=0;//原因同上。
});
}

為什么要隔2秒鐘調(diào)用一次判斷呢?因為只要$(”#mypage”).scroll事件一被觸發(fā),就會影hght和top值,這個值可能總是滿足cando 函數(shù)的判斷,也就是top值總是位于hght的三分之二。因此可能會多次加載造成服務(wù)器負(fù)擔(dān)加重。而每加載一次后把hght和top值賦0,也是這個原因。

這段代碼的效果就是只要元素mypage的滾動條位置位于滾動條總長的三分之二時,追加table.html的內(nèi)容到元素mypage 中去。當(dāng)然這樣運行是無休止地加載下去。在真正的AJAX運用中,table.html可以換成asp或php腳本,接收get或post參數(shù)來進(jìn)行處理,然后返回有意義的數(shù)據(jù)。jquery的get方法可以設(shè)置get方式的參數(shù)數(shù)據(jù),

比如:

$.get(”test.php”, { name: “boho”, id: “1″ } );

相當(dāng)于http://hostlocal/test.php?name=boho&id=1

這種形式的http訪問。然后通過get方法的回調(diào)函數(shù)來獲取test.php輸出的內(nèi)容:

$.get(”test.php”, {name:”boho”,id:”1″},function(data){
alert(”Data Loaded: ” + data);
});

以上這篇JQuery頁面隨滾動條動態(tài)加載效果的簡單實現(xiàn)(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

襄汾县| 通河县| 苍溪县| 嘉禾县| 綦江县| 商水县| 阿坝县| 东台市| 长顺县| 新晃| 仙游县| 沧州市| 浦江县| 三亚市| 梁平县| 江北区| 天峻县| 迭部县| 伊春市| 平邑县| 胶州市| 深圳市| 商丘市| 梧州市| 潢川县| 海宁市| 富裕县| 明星| 勐海县| 华蓥市| 井研县| 石狮市| 定远县| 托克逊县| 迁西县| 繁昌县| 准格尔旗| 土默特左旗| 大姚县| 荣成市| 馆陶县|