jQuery,将高度从变量值设置为div上的自动
我想用切换动画将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 () { $("
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周围的引号)>>你的意思是这样的吗?我有动态内容,它改变了高度,所以我希望它在动态内容改变时动画化到高度。