2017-02-07 15 views
0

私のAjaxレスポンスの成功では、アラートボックスを最初に表示してから5秒後にリロードします。ブートストラップアラートはリダイレクト前に表示されません

私はこのコードを使用していますが、アラートボックスには何も表示されず、ページリロード後に現在表示されているアラートボックスは表示されません。

$(".flash_alert").html(data.msg);リロードする前に動作しない$('.flash_alert').delay(5000).fadeOut("slow");

を動作しない、空の播種私のコード

success : function(data) { 
    if(data.status == "success") 
    { 
     $(".flash_alert").html(data.msg); 
     $('.flash_alert').delay(5000).fadeOut("slow"); 
     location.reload(); 
    } 
    else 
    { 
     bootbox.alert(data.msg); 
    } 
}, 

アラートボックス

<div class="flash_alert"> 

     <div class="alert alert-success alert-dismissible" role="alert"> 
      <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button> 

     </div> 
</div> 

警告ボックス。

警告ボックスは、ページがfadeOutは、アニメーションが完了すると、アニメーションの後にあなたをリロードしたいので、実行される2番目のパラメータとしてのコールバックを与える

答えて

0

jQueryのリロードされますまでスライドさせたときに5秒が警告ボックスを示した後、実際に私がしたいですこのコールバック関数にlocation.reload()を移動することができ:

$('.flash_alert') 
    .delay(5000) 
    .fadeOut("slow", function() { 
    location.reload(); 
    }); 
0

問題は、を非表示アクションを遅延していることです。しかし、プログラムの制御は、が次の文location.reload()を実行します。だから何も起こらない。遅滞なく、あなたの警告を表示し、これを行うには

setTimeout(function(){ 
    location.reload(); 
}, 5000); 

または.delay()アプローチを使用し、代わりに

を(まあ、それは実際にすぐにページを再読み込みします)。

関連する問題