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

标签 javascript jquery css jquery-animate

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

相关文章:

javascript - 网站脚本损坏或卡住,如何查找?

javascript - jQuery 函数只在被点击的元素上运行

javascript - 如何在javascript中拼接数组中的项目

css - 嵌套的 flexboxes(在两个维度上)

javascript - 是否可以从 Loopback 为 Angular2 生成服务?

jquery .html 刷新在 Chrome 上不起作用

javascript - 添加元素时应用过渡,而不是删除元素

javascript - 如何将这 2 个子 div 并排附加到 1 div?

javascript - 每个 React 组件都应该有自己的样式表吗?

javascript - 以编程方式调用 Indexeddb 中的版本更改