谷歌+如何实施无限滚动(https://plus.google.com/105354532715798223299/posts/gLnVUU7Y8DL)?
示例页面:https://plus.google.com/photos/104987932455782713675/albums/posts
我想知道触发他们使用的ajax加载的事件是什么?
他们是否触发了对window.onscroll的检查,并在触发ajax加载之前检查pageYOffset是否为某个值? (因为某种程度上这对我来说感觉像是一个相当肮脏的解决方案)
基本上我想知道通常使用的技巧是什么,以及我们可以用什么其他技巧来模仿这种行为?
答案 0 :(得分:1)
那叫做延迟加载,我猜它背后有很多技巧 - 滚动,视口中元素的可见性,以及谁知道还有什么。
我建议看一下那里的许多lazy load plugins(和教程)的来源。这应该可以让你更好地了解它是如何完成的。
答案 1 :(得分:1)
如果内容在滚动到视图中之前没有加载,那么这可能是一个非常烦人的功能。如果页面很大,则应考虑其他策略,例如带有链接到完整文章(例如Google新闻)的缩略图的摘要,缩小页面大小(几乎任何新闻网站),或让用户选择有多少条目。页面(例如Stackoverflow)。
答案 2 :(得分:1)
对于 jQuery ,插件“ jquery-appear ”http://code.google.com/p/jquery-appear/
来自说明:
模仿自定义“显示”事件,当元素滚动到视图中或以其他方式对用户可见时触发。
$('#foo').appear(function() {
$(this).text('Hello world');
});
此插件可用于防止对隐藏或可见区域之外的内容进行不必要的请求。