我刚开始玩 animate.css,尝试使用他们的bounceInRight
/bounceOutLeft
动画。这个想法是有一个部分bounceOutLeft
,有它的容器slideUp()/下一个容器slideDown(),然后在下一个容器的内容上使用bounceInRight。
到目前为止,我的事件正常工作,但是当我应用我的bounceInRight 时,我的元素没有从最左边出现,它在正常位置。它只是动画有点到位。
示范时间!(请注意,这个回调纠缠的代码将被大量重构,我只是想让它先工作。)
$('#stat-switcher').on('click', '.graph-toggle', _publics.toggleGraph);
_publics.toggleGraph = function(e) {
if (_viewMode != 'table' && _viewMode != 'graph') return false;
var $table, $graph, nextView,
animationEvents = 'animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd';
if (_viewMode == 'table') {
$table = $(this).closest('#stat-switcher').find('.table');
$graph = $(this).closest('#stat-switcher').find('.graph');
nextView = 'graph';
} else {
$table = $(this).closest('#stat-switcher').find('.graph');
$graph = $(this).closest('#stat-switcher').find('.table');
nextView = 'table';
}
_viewMode = 'transition';
$(this).find('.icon').toggleClass('icon-bar-chart icon-table');
$table.on(animationEvents, function() {
$table.off(animationEvents);
$table.slideUp(function() {
$graph.slideDown(function() {
$graph.on(animationEvents, function() {
$graph.off(animationEvents);
_viewMode = nextView;
});
$graph.toggleClass('bounceInRight bounceOutLeft');
});
});
});
$table.toggleClass('bounceInRight bounceOutLeft');
};
我认为我的问题的主要原因是我同时切换bounceInRight
两者bounceOutLeft
。也许有一种方法可以在我弄乱动画类之前确保我的元素离开页面?