2012-01-23 61 views
0

代码:http://jsfiddle.net/MDnrk/7/如何在调整窗口大小时获取div来更改最大高度?

对于那些懒得点击链接:

$j(function(){ 
    // need to fix some things that CSS doesn't seem to be able to fix (esp cross browser) 
    fix_drawer_height() 
    $j(window).resize(function() { 
     fix_drawer_height() 
    }); 
}) 


function fix_drawer_height(){ 
    var new_height = document.body.offsetHeight - $j(".redline_info_scrollable").offset().top; 
    $j(".redline_info_scrollable").css({ 
     'max-height': new_height + 'px;' 
    }); 
} 

现在,在我的应用程序,fix_drawer_height()被调用的DOM准备好了,但它似乎并没有在被称为JS JS小提琴......所以我不确定这是否是显示此问题的正确媒介。

仍然不确定什么会使窗口调整大小监听器不适当地设置最大高度。 = \

目标是让可滚动的div始终伸展到窗口的高度。

通常情况下,我只是在CSS中使用height:100%,但这并不是真的跨浏览器,并且不适用于div在我的实际应用程序中的位置。

谢谢!

+0

怎么是'高度:100%'不跨浏览器?我认为使用普通的CSS属性比尝试在JavaScript中重新实现相同的浏览器功能要容易得多,也更可靠。 –

+0

@GeorgeP IE <9 = p – NullVoxPopuli

回答

0

您可以使用此:

function fix_drawer_height() { 
    $('.redline_info_scrollable').height($(document).height()); 
} 

,并在您的onload或在onResize添加它;

工作代码:http://jsfiddle.net/MDnrk/13/

+1

http://jsfiddle.net/MDnrk/11/像这样? – box86rowh

+0

不适用于jQuery的.resize – NullVoxPopuli

+0

nope,resize部分不起作用。当窗口变得足够小时,滚动条应该出现在blak div上。 – NullVoxPopuli

相关问题