使用JS添加CSS过渡,并同时更改作为过渡主体的属性不起作用

矩阵

我想在height属性中添加一个过渡,在JS中动态地添加,并同时更改高度属性(以绑定过渡),例如:

$('#foo').css({transition: 'height 5s linear', height: '100%'});

高度更改正确,但没有发生过渡。如果这次我改变高度,过渡是有效的。

那为什么第一次不工作呢?我该怎么做?

编辑

我发现了一个真正的问题:在尝试更改CSS之前,我在JS中创建了DOM元素#foo:http : //jsfiddle.net/31d57n55/2/如果取消注释第2行,它将起作用,因为它可以节省时间到可以使用的新DOM ...那么我如何知道DOM的这个新节点何时准备就绪?

矩阵

问题:现在是时候添加DOM元素(http://jsfiddle.net/31d57n55/2/

$('<div id="foo"></div>').appendTo('body') //console.log($('#foo')); $('#foo').css({height: '100px', transition: 'height 5s linear'}); 如果取消注释第2行,它将起作用(在FF上,在chrome setTimeout值为0的情况下:http : //jsfiddle.net/31d57n55/8/),因为这样可以让DOM的时间准备好...

解决方案:2种可能的破解方法,请查看CSS过渡未触发

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章