我的所作所为:
当我删除类
时 element.classList.remove('classname')
没有转换,但是当我设置0s延迟的超时时,它可以工作:
setTimeout(function() { element.classList.remove('classname'); }, 0);
为什么呢?如何避免使用setTimeout函数或使用它是否正常?
答案 0 :(得分:4)
因为您在屏幕计算重新绘制元素之前删除了类。你在它首先被显示为该类之前将其删除,因此它不认为动画是必要的。
超时使得它“等待”0毫秒然后删除该类,这使得它首先显示具有类的元素,“等待”0时间,然后然后删除该类。 / p>