dojo:动画完成后执行功能

时间:2013-08-16 09:45:39

标签: javascript animation dojo chaining

我正在尝试将动画和函数链接在一起,以便当用户点击按钮时播放动画,并在完成时执行功能。

特别是,我要做的是允许用户将菜单固定到位或取消固定它,以便它随着它们漂浮在页面上。我通过在单击按钮时切换类'固定'来控制菜单是固定还是取消固定。我希望播放动画以使过渡平滑(如菜单淡出或滑动到新位置),然后切换类。

不幸的是,该类在动画结束前切换,使菜单在两者之间切换时跳转。

有没有办法延迟切换类直到动画完成?

1 个答案:

答案 0 :(得分:1)

动画中有一个可以收听的结束事件。

http://dojotoolkit.org/reference-guide/1.9/dojo/fx/chain.html http://dojotoolkit.org/documentation/tutorials/1.7/animation/

require(["dojo/fx", "dojo/on"], function(coreFx, on){
  var animA = ...
  var animB = ...

  var chain = coreFx.chain([animA, animB]);

  on(chain, "End", function(){
    // set the css
  });

  chain.play();
});