如何在使用 Prototype JS 完成前一个功能后执行功能

How to execute a function after the previous has finished using Prototype JS

在我的示例中,我想仅在另一个元素的淡出完成后才从一个元素中删除 class 名称。到目前为止,这是我的代码:

    $('search-box').observe('click', function(e) {
        $('question-box').fade();
        $('faq-box').removeClassName('left-60');
    });

如您所见,这些将一个接一个地执行,但是随着元素慢慢淡出,它看起来像是在同时执行。在删除 class 名称之前,我想等到淡入淡出完成。

有什么建议吗?回调在这里工作吗?将不胜感激。

淡入淡出后使用afterFinish回调函数执行:

$('question-box').fade({
    afterFinish: function() {
        $('faq-box').removeClassName('left-60');
    }
});

有关所有 script.aculo.us 效果的通用选项,请参阅 Core Effects Overview