当Firefox运行良好时,Chrome并不总是跳转到#top

时间:2016-06-12 16:20:51

标签: html google-chrome

网站描述

我有一个页面,其中10个div的列表一次显示,而100个在源文档中。在底部是一个按钮 - 如果点击 - 隐藏这10个div并显示下一个10 div。该按钮本身是带有href="#top"的样式链接,其中ID属于我的navbar

问题

如果我使用Chrome,则每次点击按钮时都不会跳到顶部。有时它会跳跃,有时候它会显示新的div而不会跳到顶部。

什么有效

如果我使用Firefox,那就没问题了。

问题

我怎样才能弄清问题的位置 - 我的意思是,我的代码中的其他地方是否会出现导致此行为的错误(无法跳转到#top) - 或者是否存在替代方案告诉用户浏览器跳到我应该或可以使用的顶部的方法?

1 个答案:

答案 0 :(得分:0)

您可以使用window.scrollTo()函数来使用Javascript,而不是使用锚点和指向它们的链接(因为您的锚点可能会更改位置,或者在浏览器之间有所不同),您应该使用Javascript:

HTML

<button onclick="scrollToTop()">Go to Top</button>

的Javascript

function scrollToTop(){
    window.scrollTo(0, 0);
}

请注意scrollTo()有两个参数;滚动到的顶部和左侧位置。另外scrollTo() 动画,它会立即滚动到您设置的位置。