我認爲當您單擊刷新時,瀏覽器應該將您的頁面重置爲頂部?我正在使用js
手風琴,當我刷新時,它會關閉手風琴,但不會將頁面重新定位到頂部。重新加載瀏覽器不會重置頁面頂部
http://imip.rvadv.com/index3.html
我認爲當您單擊刷新時,瀏覽器應該將您的頁面重置爲頂部?我正在使用js
手風琴,當我刷新時,它會關閉手風琴,但不會將頁面重新定位到頂部。重新加載瀏覽器不會重置頁面頂部
http://imip.rvadv.com/index3.html
好吧,你可以看到,它不:)
但是你可以用一些簡單的jQuery迫使它:
$(document).ready(function(){
$(this).scrollTop(0);
});
編輯:
的唯一方法似乎在IE 9工作,FF 12和鉻20.0如下:
$(document).ready(function(){
$('html').animate({scrollTop:0}, 1);
$('body').animate({scrollTop:0}, 1);
});
奇怪的是,當我試圖直接滾動元件不施加任何動畫(即,$('html').scrollTop(0)
),它不工作。由於持續時間設置爲1毫秒,用戶不會注意到任何事情。
我會很高興,如果任何人都可以闡明這一點 - 爲什麼滾動只適用於動畫?
這適用於FF和Chrome,但不適用於IE – imakeitpretty 2012-07-14 19:52:24
@imakeitpretty查看我的編輯。 – 2012-07-14 21:01:59
在IE9中,我仍然看到它跳躍。它跳到頂部,然後跳回到開始的位置。我很樂意看到一些更流暢的東西。因爲那是我的手風琴的其餘部分所做的,所以滑到頂部將是很好的。 – imakeitpretty 2012-07-14 21:16:36
瀏覽器會向下滾動到你是重裝前,作爲方便的嘗試。這對於過長的頁面纔有用。
可以 「修復」 這就像這樣:
window.onload = function() {document.body.scrollTop = document.documentElement.scrollTop = 0;};
這適用於FF,但不適用於Chrome,在IE中它會起作用。屏幕類型在正確執行之前閃爍。 – imakeitpretty 2012-07-14 19:53:45
基於由comonpyke和自己的測試,最後的評論,我建議
$(document).ready(function(){
$('html, body').scrollTop(0);
$(window).on('load', function() {
setTimeout(function(){
$('html, body').scrollTop(0);
}, 0);
});
});
如果沒有以上的工作試試這個。這會使瀏覽器在刷新之前認爲它位於文檔的頂部。
$(window).on('beforeunload', function() {
$(window).scrollTop(0);
});
與Javascript無關,這是默認的瀏覽器操作 – freefaller 2012-07-14 19:02:26
如果刷新頁面,Chrome瀏覽器不會重置頁面的頂部。 – 2013-12-06 04:37:36