我认为我遇到了Bootstrap的经典后退按钮问题,我真的试着在互联网上寻找解决方案,但无法解决。 我正在使用bootstrap导航丸。 我有大约8个药丸,当我点击其中任何一个时,页面滚动到该特定部分,URL更改为xyz.com/abc#sectionx 当我按后退按钮时,URL会更改为xyz.com/abc,但页面不会回滚到顶部。
--- ----- ****
编辑:我不认为我说清楚了。 URL已更改,但页面仍保留在xyz.com/abc#sectionx的相同部分 因此,如果用户没有查看URL,那么他们会认为按下后退按钮没有效果。
--- ----- ****
所以我尝试使用它:
$('html,body').on('hashchange', function () {
$('body').scrollTop(0);
});
但这没有用,所以我试图以不同的方式定义Top的值:
$('html,body').on('hashchange', function () {
var top = $(window.location.hash).offset().top;
$('body').scrollTop('top');
});
但那不起作用,所以我试过了:
$('html,body').on('hashchange', function () {
if (window.scrollY>0) {
window.scrollTo(0,window.scrollY-20)
setTimeout("gototop()",10)
}
});
我也尝试用html, body
替换window
,但这也不起作用。
我真的很困惑该怎么做以及如何制作后退按钮将我带到页面顶部。问题是后退按钮正在改变URL,这很棒,但它也需要滚动到顶部。
任何有关如何实现这一目标的指导都将非常有价值。我非常感谢jQuery或纯javascript的指导。
答案 0 :(得分:1)
如果您正在寻找滚动到顶部的方法。考虑浮动按钮或分隔每个部分的链接。如上所述,通常用户希望后退按钮执行预期的操作。
你可以像这样使用自己的锚点轻松建立一个链接。
<h2 id="top">Top of Page</h2>
// block of content
<a href="#top">Go to top</a>
// block of content
<a href="#top">Go to top</a>
.....