1

私はajaxが初めてで、問題はありませんが、問題は、ajaxにデータをサーバーに送信させてから、データベースを取得していることです。エラーdivを非表示にしてからアラートを実行したいのですが、コードを実行するとアラートが最初に表示され、領域が非表示に設定されます

if(response.status == "SUCCESS"){
    $('#error').hide('fast');  
    alert("Thanks for submitting.  We will get back to you as asoon as possible.\n\n" + response.result);
   }
4

4 に答える 4

3

アラートを表示する前に、アニメーションが完了するのを待ちたいようです。

コールバックalert()を呼び出しhide()ます。

$('#error').hide('fast', function() { alert(...); });
于 2012-05-17T19:03:56.270 に答える
1

あなたはコールバック関数を必要とします、ここにそれは行きます:

if(response.status == "SUCCESS"){
    $('#error').hide('fast',function()
    {
         alert("Thanks for submitting.  We will get back to you as asoon as possible.\n\n" + response.result);
    });          
   }
于 2012-05-17T19:04:10.543 に答える
0

遅延を追加します。

window.setTimeout(function() { alert('...') },100)
于 2012-05-17T19:03:27.003 に答える
0

アニメーションが完了した後に発生する hide() へのコールバックを提供できます。

$('#error').hide('fast', function() {
    alert("Your alert string");
});

公式ドキュメントから詳細を読む: http://api.jquery.com/hide/

于 2012-05-17T19:05:56.067 に答える