我试图链接到一个锚点的页面,即:
<a href="/about/#content/">About</a>
<div id="content">…</div>
正常的浏览器行为是呈现页面,然后跳转到锚点/ ID。有没有办法在页面渲染之前将页面定位在锚点位置?
我尝试过使用
$(document).scrollTop( $('#content').offset().top );
认为它可能会移动到足够快的位置以防止整页加载的闪现,但是在DOM就绪之前它不起作用,所以它不够快。
我可以通过有选择地隐藏元素,移动到位置然后显示它们来拼凑一个解决方法,但我想知道是否有一种我不知道的方法。
答案 0 :(得分:0)
我认为还没有其他直接的做法。您只能保证更快地链接到特定的div,以便在DOM中尽快使用div。
您可以通过加载所需的div来静态链接,同时动态加载其他div的内容。再次执行此操作时,您必须确保页面始终通过执行代码
滚动到此div$(document).scrollTop( $('#content').offset().top );
定期,因为当页面的其他内容被动态加载时,页面大小可能会增加,我们希望将滚动位置始终保持在内容div上。