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コールバックは要素ごとに 1 回呼び出されることに注意してください。複数の AJAX リクエストを発行する必要があるかどうかはわかりませんが、覚えておく価値はあります。

于 2012-05-30T14:30:22.000 に答える