2017-02-07 43 views
0

在我的ajax響應成功中,我想先顯示我的警報框,然後在5秒鐘的延遲頁面將重新加載。bootstrap alert在重定向之前不顯示

我正在使用此代碼,但沒有顯示警告box.and警告框當前顯示頁面重新加載後。播種空

我的代碼

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> 

警告框$(".flash_alert").html(data.msg);不行

$('.flash_alert').delay(5000).fadeOut("slow");不重裝前的工作。

其實我想以後所示的警告框5秒時警告框向上滑動,然後頁面將重新加載

回答

0

jQuery的fadeOut給出了一個回調的第二個參數,這將運行一次的動畫完成,所以你想要的動畫後重裝你可以移動location.reload()這個回調函數:

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

的問題是,你延遲隱藏行爲。但程序的控制執行下一句location.reload()。所以沒有任何反應(當然它實際上立即重新加載頁面)

相反,顯示您的警報沒有任何延遲,並使用

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

還是.delay()辦法做到這一點。