2012-01-17 67 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

相关问题