2013-02-11 29 views
0

我想在一个锚点链接到一个网页,即:如何在滚动的位置渲染页面?

<a href="/about/#content/">About</a> 

<div id="content">…</div> 

正常的浏览器的行为是来渲染页面,然后跳转到锚/ ID。有没有办法到页面的锚位置页面呈现之前的位置?

我使用

$(document).scrollTop($('#content').offset().top); 

想这可能移动到另一个位置足够快,以防止全页面加载的闪存尝试,但它不工作,直到DOM准备好了,所以它不够快。

我可以选择隐藏要素,移动到的位置,然后向他们展示,但我想知道如果有一种方法,我不知道凑齐一个变通。

回答

0

我不认为有这样做的其他任何直接的方式。您只能保证更快地链接到特定的div,使DOM尽快在DOM中可用。

您可以通过加载所需的div进行静态链接,同时动态加载其他div的内容。再次,而这样做,你必须确保页面始终滚动到这个div,由

$(document).scrollTop($('#content').offset().top); 

定期执行的代码,当页面的其他内容也越来越动态加载的页面大小可能会倾向于增加我们希望始终在内容div上保持滚动位置。

+0

感谢您的答复。我尝试了动态加载其他元素,但如果需要多个scrollTop命令,它实际上会产生更多的页面跳转。到目前为止,它的工作更好地加载的一切,隐藏不滚动的元素,揭示他们都曾经在页面中的位置加载。 – 2013-02-12 18:50:01