我有一个div,允许用户动态添加其他表单输入。我希望能够在达到一定高度后将div的高度更改为auto。这是我的jQuery代码,虽然它目前似乎没有工作。
$(document).ready(function(){
if($('#upload3').height() > 400){ $('#upload3').css('width','auto'); } });
答案 0 :(得分:11)
这只会在文档准备就绪时运行ONCE。您需要将其放在resize()
事件处理程序中:
$('#upload3').resize(function() {
if($(this).height() > 400){ $(this).css('height','auto'); } });
});
答案 1 :(得分:1)
您需要绑定div的resize事件
$(document).ready(function(){
$("#upload3").bind("resize", function() {
if($('#upload3').height() > 400){ $('#upload3').css('width','auto'); }
});
});
答案 2 :(得分:1)
if语句只在文档准备好后才会运行。如果你想在其他事情发生时做某事(事件!),你需要一个事件处理程序。
另外,在您的示例中,您将width
设置为auto
,而不是高度。
但实际上,您不需要使用javascript来执行此操作,只需在CSS中设置最小高度即可。当内容溢出最小高度时,块将伸展以适合内容,就像没有设置高度一样。
示例:
#upload3 {
min-height: 400px;
}
答案 3 :(得分:0)
div的高度何时变化?是否有任何事件触发代码来改变这个div的高度?如果您知道该事件,那么您应该在那里设置高度。