2010-01-18 51 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