2010-01-18 48 views
1

有這個代碼,每當div的滾動結束時調用ajax。它假設是一個自動動態滾動。這個ajax獲得列表中的下一個X itens。jQuery滾動在IE瀏覽器上點擊兩次

$("#gvContacts").scroll(function(){ 
    var scrolltop=$('#gvContacts').attr('scrollTop'); 
    var scrollheight=$('#gvContacts').attr('scrollHeight'); 
    var windowheight=$('#gvContacts').attr('clientHeight');        

    if(scrolltop==(scrollheight-(windowheight))) 
    {         
     var p = eval($("#pageNumber").val());   
     $("#pageNumber").val(p + 1); // This updates what page should the ajax get next 
     loadRelatedFilters(false); //This call an ajax to load more 
    } 
} 

它工作正常FF,Chrome瀏覽器......它也適用於IE瀏覽器。但它擊中兩次,無法弄清楚。每次它到達列表的末尾時,它會得到2頁而不是1頁。

回答

4

這聽起來像你需要debounce滾動事件。但是,它聽起來像聽起來像是你正在做一個「無限滾動」 - 我錯了嗎?

如果是這樣 - 只是使用已經寫好的東西! http://www.infinite-scroll.com/

+0

你說得對!不過,我只是保留了我的代碼,但是!謝謝!很好的幫助! – 2010-01-19 11:39:28

+0

沒問題。 :) – 2010-01-19 15:25:33

+0

完美!謝謝@Matt Ball .. – coolguy 2012-11-01 10:28:17