3
我使用jQuery的scrollTop()方法获取页面加载的滚动条的垂直位置。我需要在执行url中的锚后获取此值(前链接:www.domainname.com#foo)。我可以使用下面的代码,它在Firefox和IE浏览器的工作原理:当url包含锚点时,获取页面加载的网页的滚动条的垂直位置
前网址:www.domainname.com#富
$(document).ready(function() {
if ($(this).scrollTop() > 0) {
// then a conditional statement based on the scrollTop() value
if ($(this).scrollTop() > $("#sidenav").height()) { ...
但在Safari和Chrome的document.ready()似乎前执行在这种情况下,锚点scrollTop()会在页面加载时返回0。在Chrome和Safari中执行定位点后,如何在页面加载时访问scrollTop()值?
我希望有一个更简单的方法来做到这一点没有计时器。但是,这个答案将起作用。谢谢 – Greg 2011-06-04 13:59:15
@Greg当然,这是一个合理的希望,但我认为没有任何事情会发生,你可以使用。顺便说一下,另一个选项是获取锚点元素的偏移高度(基于URL)并使用它。 – brymck 2011-06-04 18:41:45
感谢关于使用offset()与anchor元素而不是scrollTop()的提示。这对Firefox和Webkit中的我非常有用! – Greg 2011-06-06 18:55:39