2009-09-23 161 views
3

我有一个<div>元素的静态高度和overflow: auto;样式中的搜索结果列表。我只想加载前x个搜索结果(例如20个),并在用户滚动到包含搜索结果的元素底部时加载另一个x结果。加载内容作为元素滚动到视图中

任何人都可以向我解释我将如何做到这一点?我找到了几个例子,但所有这些例子都使用整个文档的滚动值,而不是一个<div>。我使用jQuery,如果它很重要。

回答

4

的声音,我喜欢在接近结束时检测滚动条的位置。 Found this当时在jquery组上搜索。其建议的解决方案,如果需要添加少量文档:

$.fn.isNearTheEnd = function() { 
    // remember inside of $.fn.whatever = function() {} 
    // this is the jQuery object the function is called on. 
    // this[0] is DOMElement 
    return this[0].scrollTop + this.height() >= this[0].scrollHeight; 
}; 

// an example. 
$("#content").bind("scroll", function() { 
    if ($(this).isNearTheEnd()) // load some content 
}); 
+0

谢谢,那就是我一直在寻找的。 – Aistina 2009-09-23 11:46:08

0

如果你比较像你div的.top() + .height()到窗口的.scrollTop + .height那么当你在该分区的底部,你可以告诉,然后触发下一个内容加载...