Q:如果绑定动画的元素跟着页面的显示隐藏进行显示隐藏,那么该元素将在每次页面显示时都会执行动画。
如果该元素自己还有一个显示隐藏,有的时候隐藏后再显示就不会播放动画。
A1:在隐藏的时候
removeClass
移除掉动画绑定,显示后再addClass
加上
如果A1不好使,就使用A2的办法吧↓
A2:不单独隐藏该元素,直接加一个属性
transform: scale(0);
让放大倍数为0,造成隐藏的效果,然后执行完动画时为了防止元素变成css里设置的样式,再加一个animation-fill-mode: forwards;
属性,让动画停留在最后一帧
如果A2并不适用你的项目,那么还有A3↓
A3:直接找到要执行动画的元素和他的父级,进行添加
append
和删除remove
该元素。
例:
//假设执行动画aAnimate的图片a,他的图片路径是./img/icon1.png,父级是b
//添加
$('.b').append('<img class="a aAnimate" src="./img/icon1.png" alt="">')
//删除
$('.a').remove();