【发布时间】:2014-09-14 22:12:09
【问题描述】:
在我的 Meteor 应用程序中,我有一些复杂的页面动画,需要几秒钟才能完成(指导性动画优先于页面转换速度)。
动画中有一个out 状态和一个in 状态。为简单起见,假设我需要淡出一页,然后淡入下一页,但我希望这些淡出需要几秒钟。为此,我使用 Meteor 的 Iron Router 来调用一些操纵 CSS 的动画函数。
lib/router.js
animateContentOut = function(pause) {
return $('#content').removeClass("animated fadeIn");
}
Router.onAfterAction(animateContentOut);
animateContentIn = function() {
return $('#content').addClass("animated fadeIn");
}
Router.onAfterAction(animateContentIn);
这是基于Manuel Schoebel 的一个很好的提示,并且fadeIn 有效。但是,我的淡入淡出动画需要几秒钟。所以用户只能看到淡出动画的前几毫秒,因为它开始了,然后路由器在动画完成之前快速导航到新路由。
所以我的问题是:我如何告诉路由器等待动画完成或 onAfterAction 调用中的某个动作的 setTimeout?为离开页面的过程制作动画时是否有更好的钩子?
【问题讨论】:
-
我研究了过渡器上的不同分支,但我不知道如何使它与我的视图/模板结构一起工作。似乎我无法在不同视图之间进行转换。但是,我可能看的不够近。
标签: javascript css animation meteor iron-router