我在网页中显示一个滚动数据表。这个表有数千个动态行,因此它是从服务器(通过AJAX)加载的。
用户可以上下滚动,所以我需要的是检测用户何时到达滚动条的末尾(即表底部的最后一行),以便请求和显示更多数据。
你可以在google阅读器中找到这种效果,当你向下滚动到给定提要中的最后一篇文章时,谷歌会以一种透明的方式请求并显示新的帖子,但我不知道它们是如何实现的。
顺便说一下,我现在使用的是YUI数据表
发布于 2008-10-19 17:26:12
谢谢你的回答。这是我的最后一个工作代码(受Greg和ajaxian.com的启发),它使用一些jQuery函数并与YUI DataTable一起工作。
$(".yui-dt-bd").scroll(load_more);
function load_more() {              
    if ($(this).scrollend()) {
        alert("SCROLL END REACHED !");
        // TODO load more data
    }
}
$.fn.scrollend = function() {
    return this[0].scrollHeight - this[0].scrollTop - this.height() <= 0;
}下一步是实现我自己的YUI分页器,以实现与YUI组件的完全集成:)
发布于 2008-10-19 16:23:50
我不熟悉您正在使用的特定元素,但是为了在一个完整大小的窗口上实现这一点,您可以执行以下操作:
$wnd.onscroll = function() {
    if (($wnd.height - $wnd.scrollTop) < SOME_MARGIN) then doSomething();
};其中scrollTop本质上是“滚动了多少像素”。我假设将此应用于您正在使用的表将完成这项工作。
发布于 2008-10-19 16:50:20
我刚刚在谷歌上搜索了一下,找到了这篇文章:用Ajax、JavaScript和XML实现动态滚动。看上去是个彻底的解释。
https://stackoverflow.com/questions/216588
复制相似问题