2012-01-16 22 views
0

私のjQueryコードに問題があります。私のサイトには、フォームを含むポップアップパネルがあります。私のフォームで送信をクリックすると、データは自分の電子メールとデータベースに送信されます(要求どおり)。しかし、これが提出されたら、私は欲しいです:jQuery遅延の問題

  1. 私のフォーム<div>を非表示にします。
  2. 確認メッセージ<div>が表示されます。
  3. 2秒の遅延が発生します。
  4. フォームパネル全体がフェードアウトします。
  5. マイ確認<div>と私のフォーム<div>(私がするかどうかはわからないフォームを、リセットを含むので、その前に任意の助けも感謝される)通常の状態に復元する

注:私はしたいです5.必要に応じて2番目の電子メールを送信できるようにします。私はそれなくても暮らすことができますが、少なくとも4つまでは必要です。

フォームを送信すると、データは必要に応じて処理されますが、パネル全体が非表示になり、<div>の遷移が発生しないため、確認メッセージが表示されません。私のコードは現在次のように設定されています:

$.post('/includes/hireme.php', $("#formHireMe").serialize(), function(data) { 
    $('div#hiremeFormPane').hide(); 
    $('div#hiremeSubmittedPane').show().delay(5000).hide(); 
    $('div#hiremeFormPane').show(); 
    $('div#hiremePanel').fadeOut(150); 
}); 

誰でも知っていますか?またはb)その効果を達成するためのよりよい方法がある場合は?

+0

私は '.delay'を追加する前に私の確認メッセージが表示されたことに注意してください。遅れた後のすべては後の考察だった。 –

答えて

1

showおよびhideは、期間が与えられていない場合のアニメーションではありません。 delayは、アニメーションキューに影響します。 showhideがアニメーションキューに配置されていないため、hideが遅れていないため、すぐに非表示になります。

あなたはhide期間を与えることができますいずれか(でも1はそれがほぼ瞬時に行うことが、今delayによって影響を受けるアニメーションキューに入れることでしょう)、またはあなたがsetTimeoutまたはいくつかの他のアニメーションのようなfadeOutを使用する必要があります。

+0

ありがとうございます!私は持続時間がなければならないことに気づいていませんでした(私はノブです、私は知っている、私は学ぶ)が、私は今働いている。ありがとうございました。 –