2012-01-23 62 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

相關問題