如何使用jquery-animate或Javascript删除css

时间:2018-01-15 22:21:09

标签: javascript jquery css jquery-animate

我尝试使用jQuery删除css元素' height'。我不想制作自动,或者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);

1 个答案:

答案 0 :(得分:0)

height属性的默认值为auto,而不是空字符串。但是,您可以使用jQuery的animate()函数从设定值设置动画。我听说你可以使用velocity.js,它足够聪明,可以预先计算元素的auto高度值,考虑内容。

这是原则,如果你想自己做的话:

  • 使用visibility:hidden;position:absolute;height:auto;
  • 创建元素的克隆
  • 将原始元素的高度从当前值设置为克隆值
  • 动画完成后:删除克隆和...
  • 将原始元素的高度设置为auto