我的问题是我的动画在页面加载后立即触发。
考虑以下 CSS:
.panel {
opacity: 0;
}
.loaded .panel {
-webkit-animation: hidepanel 1s ease;
-webkit-animation-fill-mode: both;
}
.panel.active {
-webkit-animation: showpanel 1s ease;
-webkit-animation-fill-mode: both;
}
@-webkit-keyframes showpanel {
0% { opacity: 0; }
100% { opacity: 1.0; }
}
@-webkit-keyframes hidepanel {
0% { opacity: 1; }
100% { opacity: 0; }
}
...以及以下JS:
$(window).load(function() {
$('body').addClass('loaded');
});
在此配置中,hidepanel动画会在页面加载后立即触发。但是,我要发生的是仅在我添加然后删除活动类后才会触发的隐藏面板动画。
有什么方法可以实现这一点,而不必每次我想看到hidepanel动画时手动分配加载的类?
这是一个演示问题的小提琴。您可以看到红色框最初淡出。这表示页面加载时我的元素会发生什么。 http://jsfiddle.net/Tz9p4/
更新 我最终将此作为解决方案:http: //jsfiddle.net/Tz9p4/1/。我仍然认为希望有更好的方法,而不是每次我想调用hidepanel动画时检查加载的类,但目前似乎没有。