我在 jQuery 中使用 scrollTo 函数来平滑滚动到页面上的元素。当我在同一页面内单击带有目标的链接时,它可以正常工作。
我的问题是我还希望它在页面加载时直接在外部页面上工作(otherDoc.aspx?a=elementId 和 if Request.QueryString ...)。问题是它没有滚动到完全正确的位置,我认为这是因为所有内容可能没有完全加载,因此元素位置发生了变化,这意味着在慢速连接时结果会更糟。我试图做一个 setTimeout 来测试延迟,然后它滚动到正确的位置。一种选择是在外部链接上做简单的锚点#myAnchor,但平滑的滚动给人一种更好的感觉。
我的代码:
<script>
$(document).ready(function () {
$(window).scrollTo("#" + elementId, 1000);
});
</script>
有什么建议么?谢谢!