如何在滚动位置呈现页面?

时间:2013-02-11 06:51:46

标签: javascript jquery scroll anchor

我试图链接到一个锚点的页面,即:

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

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

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

我尝试过使用

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

认为它可能会移动到足够快的位置以防止整页加载的闪现,但是在DOM就绪之前它不起作用,所以它不够快。

我可以通过有选择地隐藏元素,移动到位置然后显示它们来拼凑一个解决方法,但我想知道是否有一种我不知道的方法。

1 个答案:

答案 0 :(得分:0)

我认为还没有其他直接的做法。您只能保证更快地链接到特定的div,以便在DOM中尽快使用div。

您可以通过加载所需的div来静态链接,同时动态加载其他div的内容。再次执行此操作时,您必须确保页面始终通过执行代码

滚动到此div
$(document).scrollTop( $('#content').offset().top );

定期,因为当页面的其他内容被动态加载时,页面大小可能会增加,我们希望将滚动位置始终保持在内容div上。