0

我需要在淡入淡出完成后运行我的 ajax 函数。我怎样才能做到这一点?谢谢。

$$('.loading').invoke("fade", "from: 0, to: 1");

new Ajax.Request(ajaxUrl,
    {
     method:'post',
     onSuccess: function(data){
     var tmp=data.responseText;
     $$('.content').invoke('insert',tmp);
    }
4

1 回答 1

1

首先,由于该fade方法需要一个对象作为参数,因此您需要传递一个对象invoke而不是字符串。然后,您可以将该属性添加到该对象(正如我在上一个问题afterFinish中已经向您展示了如何操作):

$$('.loading').invoke("fade", {
    from: 0, 
    to: 1,
    afterFinish: function() {
        //Do stuff
    }
});

但是,请注意,由于invoke基本上迭代元素数组,因此afterFinish将为每个元素调用一次回调。我不知道您是否要触发多个 AJAX 请求,但请记住这一点。

于 2012-05-30T14:30:22.000 回答