Bootstrap modal schließen sofort, sollte die Verzögerung
In diesem Beispiel klicken Sie auf die contact
Registerkarte auf das nav-Menü öffnet sich ein bootstrap modal. Wenn der Benutzer eine Zeichenfolge in das modale text box von weniger als 10, gibt es eine Warnung und der modal-nicht in der Nähe. Wenn der string größer als zehn, dann wird eine Nachricht angehängt werden, um die modale etwas zu sagen wie success...
und der modale soll-Verzögerung für einen Zauber und verschwindet dann. Mit der aktuellen code-Validierung-Teil und den modal angezeigt funktioniert, aber es ist keine Verzögerung, bevor es dissappears. Warum nicht den aktuellen code funktioniert und wie ich es beheben kann?
fiddle
js
$(document).ready(function () {
$('#modalClose').click(function () {
var validResult = getLength('#tbName', 10);
if (validResult) {
var successMessage = $('<div>').text('Successfully saved to database...').css('color', 'green');
$('.modal-body').append(successMessage);
$('#contact').delay(5000).modal('hide');
}
else {
alert('input did not meet validation, try again');
$('#tbName').val('').focus();
}
});
function getLength(el, x) {
var len = $(el).val().length
return len > x
}
$('#contact').on('hide.bs.modal', function () {
$('#tbName').val('');
});
$('#contact').on('shown.bs.modal', function () {
$('#tbName').focus();
});
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden setTimeout statt
delay
, Verzögerung funktioniert die animation Warteschlangen.Demo
Ich würde gehen Sie einfach für die einfachen javascript-Methode der Einstellung timeout:
Dies ist nur konfiguriert für 5 Sekunden (5 Sekunden fühlte eine Art von lange), aber das funktioniert in der beigefügten fiddle http://jsfiddle.net/BAJ8X/4/