当我删除新创建的元素的类时,CSS3 过渡不起作用



我的工作:

  1. 创建一个元素,该元素的样式包含CSS3转换
  2. 向其中添加一个类(该类的样式包含背景色属性)
  3. 向其中添加一个innerHTML
  4. 删除类

当我像一样删除类时

element.classList.remove('classname')

没有转换,但当我设置0秒延迟的超时时,它就起作用了:

setTimeout(function() { element.classList.remove('classname'); }, 0);

为什么?如何避免setTimeout函数,或者使用它是否正常?

示例:http://jsfiddle.net/JHevJ/1/

因为您要在屏幕计算元素的重绘之前删除该类。你首先要在它显示为该类之前将其删除,所以它认为没有必要制作动画。

超时使它"等待"0毫秒,然后删除类,这使它可以首先显示带有类的元素,"等待"0time,然后删除类。

相关内容

  • 没有找到相关文章

最新更新