在jquery中滚动绑定问题

时间:2010-12-23 14:01:03

标签: javascript jquery

在ajax调用后,我有<div>个标识为page的{​​{1}}标记填充了'n'个div个元素。当我滚动到div的末尾(<li>)时,我需要添加更多#page我无法使用以下代码。是否可以通过授权完成?

我的代码:

<li>

1 个答案:

答案 0 :(得分:1)

为什么不能用该代码执行此操作?据我所知,你想绑定到滚动。我看到的可能是一个问题是你绑定scroll你的div。你的div是否设置了overflow:scroll

如果是(或者如果你改变你的界限以便你使用窗口并进行不同的计算),你应该可以这样做:

$(document).ready(function(){
    $("#page").bind("scroll",function(e){
            if($(this)[0].scrollHeight - $(this).scrollTop() < $(this).outerHeight())
            { 
               $(this).append("<li></li><li></li><li></li><li></li>");
            }
    });
});

或者,如果您要在此时从服务器获取数据:

$(document).ready(function(){
    $("#page").bind("scroll",function(e){
            if($(this)[0].scrollHeight - $(this).scrollTop() < $(this).outerHeight())
            { 
               $.ajax({
                   url: url
                   context: this, // used so that in success this is your div
                   dataType:html,
                   success: function(data) {
                      $(this).append(data);
                   }
               });
            }
    });
});

这里的关键是确保你绑定滚动到它可以绑定的元素。