2012-01-17 138 views
1

我在頁面左側有一個固定div,如果它比瀏覽器窗口更長,可以在整個頁面上滾動,並在到達結尾時停止滾動。固定div比內容更長 - 如何讓內容粘到屏幕底部?

如果頁面內容的長度高於div,這可以正常工作,但是如果頁面內容比div短,那麼div會停止頁面停止的位置,而其餘部分不能被看到。

這裏是我使用的代碼:

這一個是當網頁內容長於DIV,一切都很好:http://jsfiddle.net/nickykw/4Kaxd/2/

但隨着這一項,頁面內容比短div和格停止得太快:http://jsfiddle.net/vxFtV/2/

我假設內容將需要以類似的方式修復div。這將如何完成?

如果無法完成,是否可以在固定div的底部或div的代碼中添加內容,以使瀏覽器滾動到div的末尾,即使主要內容結束了?如果它在內容下留下大量空白,則無關緊要。

非常感謝

+0

這看起來很像我的東西對一個老問題創造了相當長的一段前... – 2012-01-17 20:10:41

回答

2

您可以檢查身體比固定股利短,如果是的話,身體的高度設置爲固定股利。

注意,此代碼必須運行onload

var $body = $("body"); 
var fixedHeight = $("#theFixed").height(); 

if($body.height() < fixedHeight){ 
    $body.height(fixedHeight); 
} 

http://jsfiddle.net/vxFtV/3/

+0

謝謝。不幸的是,它可以在jsfiddle中運行,但不能在Firefox或IE8中運行,滾動仍然受限於內容的高度。我在網上放了一個測試頁面:http://cornisharchive.site90.net/test/height.html 爲什麼它會在jsfiddle中工作,但不在這裏?需要做什麼? – Bob 2012-01-17 20:55:33

+0

因爲jsfiddle設置爲運行javascript onload。您的測試頁面立即運行腳本。更新的答案更清楚,它必須運行onload。 – 2012-01-17 21:14:50

+0

太好了,謝謝。 – Bob 2012-01-17 22:48:37

相關問題