我有一个div,让用户可以动态添加表单输入。当它达到一定高度时,我想将此div的高度更改为自适应。以下是我编写的jQuery代码,但目前似乎无法正常工作。
$(document).ready(function(){
if($('#upload3').height() > 400){ $('#upload3').css('width','auto'); } });
当文档准备就绪时,此代码只会运行一次。您需要将其放在resize()
事件处理程序内:
$('#upload3').resize(function() {
if($(this).height() > 400){ $(this).css('height','auto'); } });
});
$(document).ready(function(){
$("#upload3").bind("resize", function() {
if($('#upload3').height() > 400){ $('#upload3').css('width','auto'); }
});
});
那个if语句只有在文档准备好时才会运行。如果你想在其他事件发生时做一些事情,你需要一个事件处理程序。
此外,在你的例子中,你将width
设置为auto
,而不是高度。
但实际上,你不需要javascript来做这个,你可以在CSS中简单地设置一个最小高度。当内容超出最小高度时,块将伸展以适应内容,就像没有设置高度一样。
例如:
#upload3 {
min-height: 400px;
}
height
还是width
改为auto
?你的描述和代码不一致。 - thirtydot