2009-06-08 16 views
1

私のアプリでポップアップメッセージを作成しようとしています。成功すると、私はダイアログを開いてアニメーション化してから閉じます。あなたはJqueryで時間を計られたポップアップをどうやって作成するのですか?とにかく私のコードを実行すると、ダイアログがほんの一秒間だけ表示されるように見えます。それはその時点までの作品)のラインが。シーケンスまたは並列にjqueryの火災これらのコマンドをしていますか?ラインとなぜjQuery UIダイアログ( '閉じる')が早すぎますか?

$.ajax({ 
    type: "POST", 
    url: "/Sales", 
    data: { customer: [id] }, 
    success: function(msg) { 
     $('#thanks').dialog('open'); 
     $('#thanks').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000); 
     $('#thanks').dialog('close'); 
    } 
}); 

答えて

5

あなたはそれがほぼ同期して動作します持っている方法です。試してみてください

$('#thanks').dialog('open').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000).dialog('close'); 
0

はないかもしれませんアニメーションが終了するのを待ってください。2000年の待機時間を追加するか、クローズしてください。

0

.dialog('close')コールはあなたのアニメーションを待っていません。しかし、本当にダイアログをすぐに閉じたいのですか、それを閉じるためにユーザーの入力(リンク/ボタンのクリック)を待つべきではありませんか?

1

おそらくアニメーション関数からコールバックでダイアログを閉じたい:

$.ajax({ 
    type: "POST", 
    url: "/Sales", 
    data: { customer: [id] }, 
    success: function(msg) { 
     $('#thanks').dialog('open'); 
     $('#thanks').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000, "linear", function(){ $('#thanks').dialog('close'); }); 
    } 
}); 

しかし、私はあなたがそのようなjGrowlとして、プラグインを使用したほうが良いと思いますか?

関連する問題