2011-05-12 64 views

回答

2

这可以通过AJAX来实现。

当你第一次加载一个页面时,把重量级应该去的地方持有人。例如,使用带有独特风格的div以及内部的动画加载图像,以便游客可以清楚地知道还有更多的加载正在进行。您可以在ajaxload.info上生成熟悉的AJAX加载图像。

在页面底部有一些脚本调用或绑定必要的函数以使用AJAX加载附加内容。例如,您可以将AJAX调用绑定到jQuery的.ready(),以便在文档的其余部分准备就绪时开始加载,或者在用户滚动某个元素时开始加载(例如,在您的页面上分离某些“地标”内容块)。

当收到包含附加内容(以字符串形式优选预格式化为HTML)使用.innerHTML =或AJAX响应jQuery的.html()替换占位符div内容的AJAX响应。如有必要,使用setAttribute("class","newClass")或jQuery的.attr("class","value")更改div的样式以替换其CSS类。

访客将能够看到您的整个页面,并在加载过程中滚动浏览它。额外的内容将在准备就绪时显示,而不会中断访问者的浏览体验。通过在内容注入之后为动画制作过渡,您可以使其更加美观。

如果您需要关于如何使用AJAX来获取内容的一些额外的例子异步看看these为经典的JavaScript方法或jQuery .ajax() docs

2

只要加载主页面,就可以使用JavaScript开始加载额外的数据。通过这种方式,您的主页可以简单介绍页面上的组件,呈现“spinners”指示正在加载更多数据,然后将其卸载到JavaScript以获取更多数据。

+0

我不明白如何使用JS和呈现“微调”可以卸载数据库的负载和做延迟加载,詹姆斯问。 – 2011-05-12 19:07:10

+0

嗯,我最初认为使用js的建议,至少给人的印象是网页加载速度更快(一个不知情的用户几乎不会注意到)。如果任何人有使用Ajax/jQuery来实现这一点的链接,那么请分享。现在,如果实际上有可能错开抓取(也可以用ajax),那么我也会感兴趣。 – 2011-05-12 19:13:41

+0

你所能做的就是给人印象_页面加载速度更快。 – Lawyerson 2011-05-12 19:15:59