我正在使用jQuery根据位置中哈希的更改来设置scrollTop的动画。效果很好。
问题是,当我点击“主页”时,我希望它一直滚动到真正的顶部 - 包括地址栏。
显然,这是大多数人想要的相反行为。所以有很多关于如何隐藏这个讨厌的地址栏的问题。
对于我的情况,我希望能够滚动(使用JavaScript)到页面顶部。现在,当我尝试将scrollTop设置为0或-100或-500时,它只是将我置于内容的顶部,地址栏保持隐藏状态。
答案 0 :(得分:2)
您可以尝试设置document.body.scrollTop=0
。这将显示地址栏。希望这会有所帮助。
答案 1 :(得分:0)
对我来说这很有效:
document.body.scrollTop = -1
...但由于动量滚动,内容后来有点移动,所以我通常使用一个短的间隔,将scrollTop设置为-1,直到它位于正确的位置。
我使用这个助手......
const showMobileUrlBar = () => {
let i = 0
const to = setInterval(() => {
document.body.scrollTop = -1
// clear timeout after 250 ms and reset scrollTop to 0
if (i++ > 25) {
clearInterval(to)
document.body.scrollTop = 0
}
}, 10)
}
...在动画滚动位置时可以在onComplete回调中使用,如下所示:
TweenMax.to(window, 0.5, {scrollTo: 0, onComplete: showMobileUrlBar})
不是最好的解决方案,但它适用于iPad和iPhone。