2012-07-14 166 views

回答

9

好吧,你可以看到,它不:)

但是你可以用一些簡單的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毫秒,用戶不會注意到任何事情。

我會很高興,如果任何人都可以闡明這一點 - 爲什麼滾動只適用於動畫?

+1

這適用於FF和Chrome,但不適用於IE – imakeitpretty 2012-07-14 19:52:24

+0

@imakeitpretty查看我的編輯。 – 2012-07-14 21:01:59

+0

在IE9中,我仍然看到它跳躍。它跳到頂部,然後跳回到開始的位置。我很樂意看到一些更流暢的東西。因爲那是我的手風琴的其餘部分所做的,所以滑到頂部將是很好的。 – imakeitpretty 2012-07-14 21:16:36

6

瀏覽器會向下滾動到你是重裝前,作爲方便的嘗試。這對於過長的頁面纔有用。

可以 「修復」 這就像這樣:

window.onload = function() {document.body.scrollTop = document.documentElement.scrollTop = 0;}; 
+0

這適用於FF,但不適用於Chrome,在IE中它會起作用。屏幕類型在正確執行之前閃爍。 – imakeitpretty 2012-07-14 19:53:45

2

基於由comonpyke和自己的測試,最後的評論,我建議

$(document).ready(function(){ 
    $('html, body').scrollTop(0); 

    $(window).on('load', function() { 
    setTimeout(function(){ 
     $('html, body').scrollTop(0); 
    }, 0); 
}); 
}); 
  • 首先scrollTop的滾動文檔後早期
    • 準備
  • 二scrollTop的滾動晚
    • 後加載事件
      • 後超時
10

如果沒有以上的工作試試這個。這會使瀏覽器在刷新之前認爲它位於文檔的頂部。

$(window).on('beforeunload', function() { 
    $(window).scrollTop(0); 
}); 
相關問題