2011-06-09 33 views
4

我有一個div,可讓用戶動態添加其他表單輸入。我希望能夠改變這個div的高度,一旦它達到一定的高度自動。這裏是我有的jQuery代碼,雖然目前似乎沒有工作。一旦div達到一定高度,將div的高度更改爲自動使用jQuery

$(document).ready(function(){ 
if($('#upload3').height() > 400){ $('#upload3').css('width','auto'); } }); 
+2

你想改變'高度'或'寬度'爲'自動'?您的描述和代碼不匹配。 – thirtydot 2011-06-09 17:25:23

回答

7

這將只在文檔準備就緒時運行一次。你需要把它放在一個resize()事件處理中:

$('#upload3').resize(function() { 
    if($(this).height() > 400){ $(this).css('height','auto'); } }); 
}); 
1

需要綁定的div resize事件

$(document).ready(function(){ 

$("#upload3").bind("resize", function() { 
    if($('#upload3').height() > 400){ $('#upload3').css('width','auto'); } 
}); 

}); 
1

這if語句只會當文檔準備運行。如果您想在發生其他事情(事件!)時執行某些操作,則需要事件處理程序。

另外,在您的示例中,您將width設置爲auto,而不是高度。

但是真的,你不需要javascript來做到這一點,你可以簡單地在CSS中設置最小高度。當內容溢出最小高度時,塊將伸展以適應內容,就好像沒有設置高度一樣。

實施例:

#upload3 { 
    min-height: 400px; 
} 
0

當是一個div變化的高度?是否有任何事件觸發代碼來改變這個div的高度?如果你知道那個事件,那麼你應該在那裏設置高度。