我正在尝试使用 jQuery 删除 css
元素“高度”。我不想制作自动或 0。完全删除,但需要使用像下面示例这样的动画来完成。也许我可以使用 addClass
,但不确定我将如何制作动画。
谢谢!
这是代码。这工作正常,除了有动画。
function ico_qa_sub_head(name,height) {
var headName = name;
if ($('#ico_qa_'+headName+'_id').css('height') < '1%') {
$('#ico_qa_'+headName+'_id').css('height', '');
}
}
这就是我想要的工作。一起移除高度,但带有动画。
$('#ico_qa_'+headName+'_id').delay(0).animate({"height",""}, 100);
最佳答案
height
属性的默认值是auto
,不是空字符串。但是,您不能使用 jQuery 的 animate()
函数从设定值对其进行动画处理。我听说您可以使用 velocity.js,它足够智能,可以根据内容预先计算元素的 auto
高度值。
原理是这样的,如果你想自己做的话:
- 创建具有
visibility:hidden;position:absolute;height:auto;
的元素的克隆 - 将原始元素的高度从当前值动画化为克隆值
- 动画完成后:删除克隆并...
- 将原始元素的高度设置为
auto
。
关于javascript - 如何使用 jquery-animate 或 Javascript 删除 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271489/