【问题标题】:How does Facebook achieve infinite scrolling?Facebook是如何实现无限滚动的?
【发布时间】:2012-05-01 21:34:44
【问题描述】:

我的第一个问题是他们如何获得这个滚动条?

http://dl.dropbox.com/u/12337149/scrollbar.png

我在几个地方见过它,所以我想它可能在公共图书馆里?我的第二个问题与无限滚动本身有关。我又在几个网站上看到过它,那么它是一种相对常见且在某处有所描述的技术吗?

【问题讨论】:

  • 不知道 facebook 使用什么,但检查一下:infinite-scroll.com
  • @bfavaretto 他们可能创建了自己的,就像他们创建了自己的 javascript 库一样。

标签: javascript facebook scroll infinite-scroll


【解决方案1】:

你的意思是像 Twitter 上的“延迟加载”效果(当你滚动时,它会在你到达底部时加载更多)?他们使用AJAX (Asynchronous JavaScript and XML) 并测量您何时到达底部并加载更多数据。但是他们使用 JSON,因为它对大多数人来说比 XML 更容易(但它仍然被称为 AJAX)。

有一个名为 Infinite Scroll 的 jQuery 插件。

还有滚动条,就像 Mac OS X Lion 的滚动条(这很可能是他们的灵感来源),这是另一个 Stack Overflow post 关于它的内容。

我希望这有助于为您提供有关这些东西的一些信息。

顺便说一句,如果你不知道 jQuery 是什么,它是一个很棒的 JavaScript 库,它可以让 JavaScript 编码的一切变得更快。如果您从未使用过/听说过它,您应该在jQuery.com 上查看它。

【讨论】:

    【解决方案2】:

    AJAX(通常使用 XmlHttpRequest 原语实现;实际上使用 JSON 格式而不是 Xml)是在 javascript 中发出服务器请求而不重新加载页面并注册回调以处理响应的行为。当响应到达时,会使用数据调用回调,就像页面获取一样,但不会重新加载页面。

    【讨论】:

    • 触发请求的事件是什么?
    • 我认为您的意思是“也通俗地称为 AJAX”。 JSON 可能会也可能不会用作 XHR/AJAX 传输的数据格式,但并不相同。
    • @Steve:哎呀,谢谢,我输入的时候就知道出了点问题。
    • @ninjagecko 是的,我想。 :) 如果可以的话,我现在会删除我的评论。
    • @VitalijZadneprovskij:要么是 OnScroll 事件,要么如果你在假滚动,那么无论你使用什么回调来假滚动。
    猜你喜欢
    • 2022-06-16
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2016-03-27
    • 2019-09-23
    • 2015-05-18
    • 2013-06-19
    • 2020-11-09
    相关资源
    最近更新 更多