2010-06-18 67 views
0

我有一個頁面,如果用戶接近頁面的底部,加載下一頁。jQuery.ajax檢查是否已經存在另一個xhr

我剛剛將它切換到jQuery,現在使用jQuery.ajax()函數來獲取數據。但是,現在我無法檢查xhr是否已經加載,當用戶靠近底部時,使頁面加載多個xhrs。

我的聽衆是:

$(document).scroll(function() { 
      if(/* scrollbar is near bottom */) 
      loadxhr(dat++); //function that calls jQuery.ajax() 
     } 
}); 

基本上,你可以跟蹤通話的readyState在全球範圍內?

回答

1

我只想有一個變量(函數之外)

var scrolling = 0; 

在時機成熟時調用Ajax的功能,檢查是否滾動等於0,否則什麼都不做;如果它相等,則將其設置爲1,調用ajax函數,並在後者的回調中將其設置回0。

有點像在搶先多線程系統中的「鎖定」,除非你真的不需要在這裏鎖定(好東西,因爲JavaScript沒有它們;-),因爲你的控制線程是隻有當你調用ajax函數時纔會中斷,而不是在你的代碼中的任意位置,就像搶先多線程一樣。

相關問題