我需要在淡入淡出完成后运行我的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);
}
答案 0 :(得分:1)
首先,由于fade
方法需要将对象作为参数,因此需要将对象传递给invoke
而不是字符串。然后,您可以将afterFinish
属性添加到该对象(因为我已经向您展示了如何在previous question中执行):
$$('.loading').invoke("fade", {
from: 0,
to: 1,
afterFinish: function() {
//Do stuff
}
});
但是,请注意,由于invoke
基本上遍历元素数组,因此将为每个元素调用afterFinish
回调一次。我不知道你是否想要发出多个AJAX请求,但值得记住这一点。