【问题标题】:How to remove css with an jquery-animate or Javascript如何使用 jquery-animate 或 Javascript 删除 css
【发布时间】:2018-01-15 22:21:08
【问题描述】:

我正在尝试使用 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);

【问题讨论】:

标签: javascript jquery css jquery-animate


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    相关资源
    最近更新 更多