jQuery & Bootstrap оповещение о сдвиге вверх
У меня есть предупреждение:
<div class="alert alert-success fade show" id='success-alert' role="alert">
{{ message }}
</div>
У меня есть кнопка:
<input name="submit" value="Submit" class="btn btn-primary" id="submit-id-submit" type="submit" method="post">
При нажатии кнопки появляется предупреждение. Я хочу, чтобы оповещение медленно двигалось вверх, используя jQuery .slideUp()
, Вот моя попытка:
<script>
$(document).ready (function(){
$("#success-alert").hide();
$("#submit-id-submit").click(function showAlert() {
$("#success-alert").fadeTo(2000, 2000).slideUp(500, function(){
$("#success-alert").slideUp(500);
});
});
});
</script>
Это приводит к тому, что предупреждение появляется, а затем внезапно быстро исчезает (короче двух секунд). Я полагаю, что предупреждение как-то вызывается дважды, потому что когда я меняю 500
(все три) 2000
, предупреждение появляется, оно скользит правильно, затем появляется новое предупреждение и внезапно исчезает.
Как мне достичь медленного скольжения вверх, один раз?
1 ответ
Классы "fade" и "show" являются причиной странного поведения в вашем коде.
Это то, что вы ищете?
Я избавился от этих классов и добавил немного CSS.
Соответствующий код:
$("#submit-id-submit").click(function () {
$("#success-alert").show(); // use slide down for animation
setTimeout(function () {
$("#success-alert").slideUp(500);
}, 2000);
});
Надеюсь это поможет.:)