我工作的Infinite Load
(如延遲加載)來加載類型的功能,這裏是迄今爲止功能:在jQuery的工作在無限負載並不能得到負載的功能只有一次
$(window).scroll(function() {
var ScrollPosition = $(window).scrollTop() + $(window).height();
var LoadMorePosition = $(document).height()-100;
if(ScrollPosition == LoadMorePosition) {
console.log('loading more');
loadMoreItems();
}
});
這是大部分人工作,除了一旦人員滾動到閾值時,loadMoreItems
功能被稱爲20-30次。
我在想一個setTimeout類型的東西可能會工作,但第二個想到我意識到它只會在Ajax內容加載速度足夠快(這是不能保證的)時才起作用。
我需要的是一種方法來檢測他們是否達到閾值,然後只調用一次函數,直到他們再次達到滾動閾值。
我能想到的唯一辦法像這樣做是因爲全局Javascript變量,但我聽說那些是不好的。這是唯一的選擇嗎? – Talon 2013-03-02 22:45:22
@Talon,只要你控制它們,那些並不是那麼糟糕。無論如何,你可以爲你的變量創建一個「命名空間」(谷歌它)或保存在一個隱藏的輸入標誌。 – gdoron 2013-03-03 04:33:37