前言
先看看已经完成了的效果
在实现这个简单常见的效果的时候,就想着根据display的变化,家电css3动画效果应该就OK了,但是过程中遇到点小问题,这里记录一下
实现过程
想像中
简单的贴一下css代码
关于animation、keyframes的使用这里就不说了。
下面是利用js判断classname进行替换,从而使用该class的css动画效果
按设想,应该是替换了class后,执行动画过程,然后display走一波。
实际上
但实际效果是下面这样的
只有show的时候有动画效果。
hide的时候没有触发css动画效果。
那自然就想,是不是先修改了display为none,导致后面动画效果没法出现?
和浏览器重绘,回流有没有关系呢?
解决问题
先看看是不是由于先执行了修改display。
搜索了一下发现动画执行完毕后会有个回调函数 animationend
理想状态是文章开头的gif效果
看来是执行顺序的问题了,done