我有一个需要 1 秒才能完成的动画,然后我想显示一些用于用户名/密码和登录按钮的文本框。动画是否存在某种“未完成”事件?
问问题
177 次
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 回答