当内部div变大时,动态地改变外部div

时间:2010-05-09 20:39:04

标签: javascript jquery css html

我有两个div,一个在另一个里面。一个叫做#wrapper,另一个称为#pad。

现在#pad允许用户输入,我有一个javascript(jQuery)函数,它根据用户输入改变#pad的内容。有时,由于这个功能,#pad的内容会使div变得比以前更加拉长。现在显然我希望#wrapper能够长得更长,以适应#pad长度的变化。但是,这不会发生。

#wrapper
{
    clear:both;
    padding-top:0.5em;
    /*padding-left:50px;*/
    height: 100%;
    background-color: rgba(255,255,255,0.4);
    -moz-border-radius: 20px 20px 0px 0px;
    -webkit-border-radius: 20px 20px 0px 0px;
    border-radius: 20px 20px 0px 0px;
}

#pad
{
    margin-top: 25px;
    -moz-border-radius: 5px;
    border: solid 1px #DDD;
    margin-left:25px;
    padding-left:25px;
    margin-right:25px;
    padding-right:25px;
    margin-bottom:2em;
}

这是javascript函数:

function preview()
{
    var id1=$("#input1").val();
    var id2=$("#input2").val();
    var id3=$("#input3").val();
    var id4=$("#input4").val();
    var id5=$("#input5").val();

    if(id1!= null && id1!="")
    {
        if( $("#preview1").attr("src")!=id1)
        {
            $("#preview1").attr("src",id1);
            $("#preview1").fadeIn("slow");
        }
    }
    else
    {
        $("#preview1").attr("src","");
        $("#preview1").fadeOut("slow");
    }

    if(id2!= null && id2!="")
    {
        if( $("#preview2").attr("src")!=id2)
        {
            $("#preview2").attr("src",id2);
            $("#preview2").fadeIn("slow");
        }
    }
    else
    {
        $("#preview2").attr("src","");
        $("#preview2").fadeOut("slow");
    }

    if(id3!= null && id3!="")
    {
        if( $("#preview3").attr("src")!=id3)
        {
            $("#preview3").attr("src",id3);
            $("#preview3").fadeIn("slow");
        }
    }
    else
    {
        $("#preview3").attr("src","");
        $("#preview3").fadeOut("slow");
    }
    if(id4!= null && id4!="")
    {
        if( $("#preview4").attr("src")!=id4)
        {
            $("#preview4").attr("src",id4);
            $("#preview4").fadeIn("slow");
        }
    }
    else
    {
        $("#preview4").attr("src","");
        $("#preview4").fadeOut("slow");
    }
    if(id5!= null && id5!="")
    {
        if( $("#preview5").attr("src")!=id5)
        {
            $("#preview5").attr("src",id5);
            $("#preview5").fadeIn("slow");
        }
    }
    else
    {
        $("#preview5").attr("src","");
        $("#preview5").fadeOut("slow");
    }
    setTimeout("preview()",1000);
    $("#wrapper").attr("height",$(document).attr("height"));
}

http://surveys.mylifeisberkeley.com/

1 个答案:

答案 0 :(得分:1)

据我所知,摆脱#wrapper高度:100%,调整边距和填充以使事情合适,它应该有效。我想问题主要是你混淆了元素属性高度和CSS属性高度。在任何情况下,所有这些都应该可以简单地使用普通的HTML流程而不是手动改变高度。

顺便说一句,“更长时间”是一个非常奇怪的措辞,我认为你的意思是说“更高”。