2013-09-10 16 views
8

Bir önyükleme modal için zaman aşımı nasıl ayarlayabilirim? Php tarafından döndürülen iletinin, success terimini içerdiği ajax verilerini aldıktan sonra, kullanıcıya pencereyi kapatma seçeneğine vermek istiyorum. Bununla birlikte, sadece 4 saniyelik geri sayımın olmasını istiyorum. Şu anda ikinci başarı mesajı modal gizlemenin kendisini geri getiriyor.önyükleme modal'ı 4 saniye sonra kapatın veya kullanıcı klikleyin

$('#forgotform').submit(function (e) { 
    "use strict"; 
    e.preventDefault(); 
    $('#forgotsubmit').button('loading'); 
    var post = $('#forgotform').serialize(); 
    var action = $('#forgotform').attr('action'); 
    $("#message").slideUp(350, function() { 
     $('#message').hide(); 
     $.post(action, post, function (data) { 
      $('#message').html(data); 
      document.getElementById('message').innerHTML = data; 
      $('#message').slideDown('slow'); 
      $('#usernamemail').focus(); 
      if (data.match('success') !== null) { 
       $('#forgotform').slideUp('slow'); 
       $('#forgotsubmit').button('complete'); 
       $('#forgotsubmit').click(function (eb) { 
        eb.preventDefault(); 
        $('#forgot-form').modal('hide'); 
       }); 
       setTimeout($('#forgot-form').modal('hide'), 10000); 
      } else { 
       $('#forgotsubmit').button('reset'); 
      } 
     }); 
    }); 
}); 
+0

'setTimeout' için yorum yaptığınızda ne olur? Otomatik olarak kendini kapatır mı? – JofryHS

cevap

23

setTimeout() öğesini çağırırken, komutunuzu anonim bir işleve sarın. Aksi halde komut derhal icra edilecektir.

setTimeout(function() {$('#forgot-form').modal('hide');}, 4000); 
+2

Ah adam! Çok teşekkürler, günümü kurtardın! –

10
setTimeout(function(){ 
    $('#Modal').modal('hide') 
}, 4000); 

modal olarak en id // burada 'Modal'

0
$('#submit1').click(function(){ 
     setTimeout("$('#myModal').modal('hide');",3000); 
    }); 

bu kapanış 3 saniye geciktirmek açılır için çalışıyor. Bu tıklama için lütfen $('#submit1') ile kontrol ediniz. Kodu yazdım.

+0

Cevabınız, 4 yıl önce çözülen soruna yeni bir şey getirmiyor. –

İlgili konular