什么是触发功能的事件,当我们向下滚动到特定部分时,某些部分才会动态加载

时间:2011-08-10 03:30:57

标签: javascript html

谷歌+如何实施无限滚动(https://plus.google.com/105354532715798223299/posts/gLnVUU7Y8DL)?

示例页面:https://plus.google.com/photos/104987932455782713675/albums/posts

我想知道触发他们使用的ajax加载的事件是什么?

他们是否触发了对window.onscroll的检查,并在触发ajax加载之前检查pageYOffset是否为某个值? (因为某种程度上这对我来说感觉像是一个相当肮脏的解决方案)

基本上我想知道通常使用的技巧是什么,以及我们可以用什么其他技巧来模仿这种行为?

3 个答案:

答案 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');
});

此插件可用于防止对隐藏或可见区域之外的内容进行不必要的请求。

查看示例http://code.google.com/p/jquery-appear/wiki/Examples