2014-06-10 90 views
0

我在網頁上顯示一些圖像,我希望它在頁面加載後一直滾動到底部,然後淡入圖像。這就是我的代碼看起來的樣子像迄今:jQuery - scrollTop命令不滾動

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script> 
     $(document).ready(function(){ 
      // fade in initial image 
      $("#lower").fadeIn(3000); 
      $("#lower").css("display", "block;"); 

      // show only initial image at mid-page 
      var margin = ($(window).height() - $("#lower").height()) * (0.5); 
      $("#lower").css("margin-top", margin); 

      // set scroll position to bottom of page 
      $(document).scrollTop($(document).height()); 

     }); 
    </script> 

和我的HTML看起來像這樣:

<body> 
    <div id="view"> 
     <img id="upper" src="pages/2.gif"> 
     <img id="lower" src="pages/1.gif"> 
    </div> 
</body> 

(C上部有不透明度0,我打算以後褪色它,當用戶滾動到圖像)

問題一最重要的是,頁面在加載時不會一直滾動到底部。我曾嘗試過很多事情,包括將.scrollTop函數的選擇器更改爲body和/或html標記以及文檔或窗口。我甚至試圖超過scrollTop值過度,但無濟於事。

任何人都可以告訴我爲什麼頁面沒有滾動一直到底部加載?

[編輯] 抱歉,抱歉,代碼粗糙。總決賽周和小小的睡眠。這是一個沒有錯字版本的同樣的問題。我甚至在這裏超過了scrollTop參數,但結果是一樣的。

觀察:刷新後滾動位置依然存在。這與這裏頑固的滾動位置有什麼關係?

+0

你檢查了瀏覽器的控制檯嗎?可能正在顯示/拋出異常? – ochi

+0

投票結束打字和向下投票的OP不只是檢查他的控制檯錯誤。 – Sparky

+0

只是因爲文檔已經準備好了,並不意味着圖像是,有圖像加載並填寫文檔?如果不是在圖像之前計算高度,則圖像將增加文檔高度。 – GGJ

回答

2

您在這裏有一個錯字:

var margin = ($(window).hieght() - $("#lower").height())/2; 
//----------------------^^^^^^^---a spelling typo 

這應該是:

var margin = ($(window).height() - $("#lower").height())/2; 

因爲這個腳本執行的停止,它永遠不會到你已經完成了scrollTop行。總而言之,它會在發生錯誤時停止並且不會進一步執行。

我也想補充一點,這是不是做的正確的方式:

$("#lower").attr("style", "display: block;") 

,而不是你可以使用.css()方法:

$("#lower").css("display", "block"); 

或簡單.show(), fadeIn(), .toggle('show') etc.了。