如何从动态值到动态高度值开始设置div的高度?

时间:2010-06-24 17:30:36

标签: jquery jquery-animate

我想使用slideDown()的效果来显示第一个div,从动态生成的最后一个div的高度开始到由其内容动态生成的高度?

在下面的代码中,有问题的部分是.animate({'height':'200px'} / .animate({'height':'100px'},应该动态生成值200px和100px。< / p>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
 <head>
  <title>Slide Down</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <style type="text/css">
   div {background:#de9a44;width:80px; }
  </style>
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
 </head>
 <body>
  <div style="display: none">
   In pellentesque risus sit amet magna consectetur nec consequat eros ornare.
  </div>
  <div>Vivamus placerat eleifend rutrum</div>
  Click!
  <script type="text/javascript">
   $(document.body).click(function () {
    if ($("div:first").is(":hidden")) {
     var height = $("div:last").height();
     $("div:last").hide();
     $("div:first").height(height);
     $("div:first").animate({'height':'200px'},"slow");
    } else {
     var height = $("div:first").height();
     $("div:first").hide();
     $("div:last").height(height);
     $("div:last").animate({'height':'100px'},"slow");
    }
   });

  </script>
 </body>
    </html>

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$("div:last").animate({'height':'auto'},"slow");

答案 1 :(得分:0)

找到答案。我不知道你可以得到隐藏元素的维度,解决方案自然而然......

    <script type="text/javascript">
        $(document.body).click(function () {
            if ($("div:first").is(":hidden")) {
                var hidden = $("div:first").height();
                var showing = $("div:last").height();
                $("div:last").hide();
                $("div:first").height(showing);
                $("div:first").animate({'height':hidden},"slow");
            } else {
                var hidden = $("div:last").height();
                var showing = $("div:first").height();
                $("div:first").hide();
                $("div:last").height(showing);
                $("div:last").animate({'height':hidden},"slow");
            }
        });
    </script>

不适用于'height':'auto'。

PS。我是AlqQ。我想我已经注册了一段时间,现在当我使用OpenID登录时,它会将我重定向到这个旧帐户,这对我很好。