1

我想通过切换动画将 div 的高度从变量值设置为自动。我知道我没有正确调用我的变量。只是想看看如何做到这一点。

var scheight = $('.searchcontainer').height();
$('.searchcontainer').toggle(
    function () {
        $(".searchcontainer").animate({ height: scheight + "px" }, 500);
    },
    function () {
        $(".searchcontainer").animate({ height: auto}, 500);
    }
);
4

1 回答 1

0

如果您在“searchcontainer”元素中为您的内容放置另一个容器,则两种方式的动画都会更容易。这种方法可以让您检测内容的高度,并且拥有该像素值(而不是依赖于“自动”)为您提供了一个您现在可以设置动画的目标:

http://jsfiddle.net/XdPry/3/

html:

<div style="height:200px;border:1px solid #000000">
    <div class="searchcontainer" style="background-color:#aa22aa">
        <div>content</div>
    </div>
</div>​

jQuery:

$('.searchcontainer:first').toggle(
    function () {
        $(this).animate({ height: parseInt($(this).parent('div').height()) }, 500);
    },
    function () {
        $(this).animate({ height: parseInt($(this).children('div:first').height()) }, 500);
    }
);​
于 2012-06-12T20:20:01.800 回答