Wie würde ich ein Timeout für einen Bootstrap-Modal einstellen? Nachdem ich die Ajax-Daten zurückerhalten habe, dass die von php zurückgegebene Nachricht den Begriff success
enthält, möchte ich dem Benutzer die Option geben, das Fenster zu schließen. Ich möchte aber auch nur einen Countdown von 4 Sekunden haben. Momentan kommt die Erfolgsmeldung zurück, die Modalität verbirgt sich.
$('#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');
}
});
});
});
Wenn Sie setTimeout () aufrufen, wickeln Sie Ihren Befehl in eine anonyme Funktion ein. Andernfalls wird der Befehl sofort ausgeführt.
setTimeout(function() {$('#forgot-form').modal('hide');}, 4000);
setTimeout(function(){
$('#Modal').modal('hide')
}, 4000);
// wo die ID des Modals 'Modal' ist
Der folgende Code wird zum Ausblenden des Modells bei einem onClick
-Ereignis verwendet. Verwenden Sie den Klassennamen für den Listener onClick
und die modale ID als Auswahl zum Ausblenden.
$('.class_name').on('click',function(){
$('#modal_id').modal('hide');
});
$('#submit1').click(function(){
setTimeout("$('#myModal').modal('hide');",3000);
});
dies funktioniert für das Popup, das 3 Sekunden beim Schließen verzögert. Bitte überprüfen Sie mit $('#submit1')
für diesen Klick habe ich den Code geschrieben.