famo.us:动画完成后,将一个项添加到主上下文中

时间:2014-05-06 04:13:28

标签: famo.us

我有一个动画需要1秒才能完成,然后我想显示一些用户名/密码的文本框和一个登录按钮。是否有某种" oncomplete"动画事件?

2 个答案:

答案 0 :(得分:1)

是的,肯定有..

它将是你的setTransform或同等动画函数中的第三个参数..

检查出来..

编辑:

我确实误解了你的问题。没有发出的事件,只有设置完成处理程序的能力。

var Engine              = require("famous/core/Engine");
var Surface             = require("famous/core/Surface");
var StateModifier       = require("famous/modifiers/StateModifier");
var Transform           = require("famous/core/Transform");
var Easing              = require("famous/transitions/Easing");

var context = Engine.createContext();

var surface = new Surface({
  size:[200,200],
  properties: { backgroundColor: 'green' }
})

surface.state = new StateModifier({ origin:[0,0.5] });

var completionFunction = function(){ console.log("Complete!"); };

var xOffset = 0;

context.add(surface.state).add(surface);

surface.on('click', function(){
  transition = { duration:1000, curve:Easing.inOutQuad };
  xOffset += 100;
  surface.state.setTransform(Transform.translate(xOffset,0,0),transition, completionFunction )
});

答案 1 :(得分:1)

没有内置的' oncomplete'事件,但假设你正在使用某种Transitionable,你可以通过Transitionable #set的回调参数做任何你想做的事情:

https://famo.us/docs/0.1.1/transitions/Transitionable/#set

如果您更喜欢使用事件,可以使用EventEmitter通过回调自己发出一个。