0

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

4

2 回答 2

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 )
});
于 2014-05-06T04:22:28.353 回答
1

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

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

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

于 2014-05-06T04:28:35.100 回答