Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSS3转换不';当我删除新创建元素的类时,它不工作_Javascript_Css_Dom_Css Transitions - Fatal编程技术网

Javascript CSS3转换不';当我删除新创建元素的类时,它不工作

Javascript CSS3转换不';当我删除新创建元素的类时,它不工作,javascript,css,dom,css-transitions,Javascript,Css,Dom,Css Transitions,我所做的: 创建一个元素,该元素的样式包含CSS3转换 向其添加类(该类的样式包含背景色属性) 向其中添加一个innerHTML 删除该类 当我移除类时,就像 element.classList.remove('classname') 没有转换,但当我将超时设置为0s延迟时,它可以工作: setTimeout(function(){element.classList.remove('classname');},0) 为什么??如何避免setTimeout函数,或者使用它是否正常 示例:因为您在屏

我所做的:

  • 创建一个元素,该元素的样式包含CSS3转换
  • 向其添加类(该类的样式包含背景色属性)
  • 向其中添加一个innerHTML
  • 删除该类
  • 当我移除类时,就像

    element.classList.remove('classname')

    没有转换,但当我将超时设置为0s延迟时,它可以工作:

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

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


    示例:

    因为您在屏幕计算元素重绘之前删除了类。您首先要在它显示为该类之前删除它,因此它认为不需要动画


    超时使它“等待”0毫秒,然后删除该类,这使它可以首先显示该类的元素,“等待”0毫秒,然后删除该类。

    我也有同样的问题,但经过大量测试后,我决定使用jquery插件传输:setTimeout是唯一可能的解决方案,还是我可以使用任何EventListener替代?文档加载上的EventListener应该是可能的