如何在另一个原型事件完成后启动该原型事件



例如,执行以下操作:

new Effect.Move('agrupador', { x: -100, y: 0, mode: 'relative' });
Element.setStyle('agrupador', {left: '0px' });

左边的位置是在元素向左移动之前应用的,但我想要相反的位置。

有办法做到这一点吗?

PD:我会烧掉原型,我保证。

这是一把小提琴:

http://jsfiddle.net/uF9Dh/

new Effect.Move('agrupador', {
    x: -100,
    y: 0,
    mode: 'relative',
    afterFinish: function() {
        Element.setStyle('agrupador', {left: '0px' });
    }
});
​

移动效果是异步的。当你调用new Effect.Move()时,你正在设置一秒钟内发生的事情。在您发布的代码中,您在实例化效果后将left属性设置为0px,而不是在效果完成后设置。为此,有一个afterFinish回调。您可以在这里查看其他可用的脚本效果回调。

BTW-这个问题不是Prototype或Scriptaculous特有的,而是Javascript中异步操作的工作方式。

最新更新