Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery,将高度从变量值设置为div上的自动_Jquery_Html_Jquery Animate_Toggle - Fatal编程技术网

jQuery,将高度从变量值设置为div上的自动

jQuery,将高度从变量值设置为div上的自动,jquery,html,jquery-animate,toggle,Jquery,Html,Jquery Animate,Toggle,我想用切换动画将div的高度从可变值设置为自动。我知道我没有正确调用变量。只是想看看怎么做 var scheight = $('.searchcontainer').height(); $('.searchcontainer').toggle( function () { $(".searchcontainer").animate({ height: scheight + "px" }, 500); }, function () { $("

我想用切换动画将div的高度从可变值设置为自动。我知道我没有正确调用变量。只是想看看怎么做

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

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

html:

<div style="height:200px;border:1px solid #000000">
    <div class="searchcontainer" style="background-color:#aa22aa">
        <div>content</div>
    </div>
</div>​
$('.searchcontainer:first').toggle(
    function () {
        $(this).animate({ height: parseInt($(this).parent('div').height()) }, 500);
    },
    function () {
        $(this).animate({ height: parseInt($(this).children('div:first').height()) }, 500);
    }
);​

使用
css
而不是
animate
。animate
需要在
px
中有一个固定的
高度。它不能接受值
auto
并设置动画。你应该使用
.css
它也应该是
{height:'auto'}
(注意auto周围的引号)>>你的意思是这样的吗?我有动态内容,它改变了高度,所以我希望它在动态内容改变时动画化到高度。