Pet*_*ter 0 jquery jquery-plugins
我在jQuery中使用scrollTo函数来平滑滚动到页面上的元素.当我在同一页面内点击目标链接时,它可以正常工作.
我的问题是我也想在页面加载时直接在外部页面上工作(otherDoc.aspx?a = elementId和if Request.QueryString ...).问题是它没有滚动到我认为正确的位置,因为所有内容可能没有完全加载,因此元素位置发生变化,这意味着在慢速连接上结果会更糟.我尝试做一个setTimeout来测试延迟,然后滚动到正确的位置.一个选项是在外部链接上做简单的锚点#myAnchor,但平滑的滚动给人一种更好的感觉.
我的代码:
<script>
$(document).ready(function () {
$(window).scrollTo("#" + elementId, 1000);
});
</script>
Run Code Online (Sandbox Code Playgroud)
有什么建议?谢谢!
小智 7
当加载html和head脚本时,$(document).ready()会触发...你应该尝试$(window).load(),因为当包含所有资源的整个页面都被加载时会触发 - 我听说一些缓存的图像可能不会计数,所以用硬刷新测试它,但你可能会达到你想要的效果.
我不知道您的网址,但有时您定位的锚元素的位置可能会影响其高度的样式,或者它是否呈现为块元素,有时可能会影响您滚动到的位置.如果可以我会顶边距添加到您的锚元素,特别是如果他们开始节或条款,这样你可以在上面一点点空间,让标题文本是不正确的滚动位置的0位置了.
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |