我想我遇到了Bootstrap的一个经典的后退按钮问题,我真的试过在网上找东西找到解决方案,但不能。 我正在使用自举导航药丸。 我有大约8个药丸,当我点击其中任何一个时,页面会滚动到该特定部分,并且URL更改为xyz.com/abc#sectionx 当我按下后退按钮时,URL更改为xyz.com/abc但该页面不会回滚到顶部。让后退按钮滚动页面到页面顶部
--- **** -----
编辑:我不认为我做了这一点。 URL的变化,但页面仍然在同一节xyz.com/abc#sectionx 因此,如果用户不看网址,那么他们会认为按下后退按钮没有效果。
--- **** -----
所以我试图用这样的:
$('html,body').on('hashchange', function() {
$('body').scrollTop(0);
});
但没有工作,所以我想在一个不同的定义顶部的值方法:
$('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)
}
});
我也尝试用window
代替html, body
,但这也不起作用。 我真的很困惑该怎么做,以及如何使后退按钮带我到页面的顶部。问题是后退按钮正在改变很棒的URL,但它也需要滚动到顶部。 任何有关如何实现这一目标的指导将非常有价值。我会非常感谢在jQuery或纯JavaScript中的指导。
我是唯一一个在网站与后退按钮混淆时真的很恼火的人吗? :( – DavidG
借调:我不会推荐这样做,因为大量的人依靠后退按钮来做到这一点 – jhpratt
我个人认为这样做是非常不直观的,如果按下后退按钮,不希望页面保留在网站的同一部分,而是希望它到达以前所在的位置,在本例中位于页面的顶部。 –