我想我遇到了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
我個人認爲這樣做是非常不直觀的,如果按下後退按鈕,不希望頁面保留在網站的同一部分,而是希望它到達以前所在的位置,在本例中位於頁面的頂部。 –