对于事先在css
中设置了display: none
的元素,为其用transition
进行动画效果时,需要先将其显示,再改变 class
类名
ele.style.display = 'block';setTimeout(function() { ele.classList.add('in');}, 0);
我的做法是这样的,不过感觉好麻烦,尤其每次都要写一个 setTimeout
。
求赐教有什么更好的方法?
解决方案
只能用visibility:hidden;来玩玩了,再配合opacity,创造fade-in fade-out的效果。
至于兼容性处理,详见本文:http://www.greywyvern.com/?post=337#