Мне нужно вызвать предупреждение, когда я нажимаю кнопку "Добавить в Wishlist" и должен исчезнуть оповещение через 2 секунды. Так я пытался, но предупреждение сразу же исчезает, как только оно появляется. Не уверен, где ошибка. Может ли кто-нибудь помочь мне?
JS Script
$(document).ready (function(){
$("#success-alert").hide();
$("#myWish").click(function showAlert() {
$("#success-alert").alert();
window.setTimeout(function () {
$("#success-alert").alert('close'); }, 2000);
});
});
Код HTML:
<div class="product-options">
<a id="myWish" href="" class="btn btn-mini" >Add to Wishlist </a>
<a href="#" class="btn btn-mini"> Purchase </a>
</div>
Предупреждающий бокс:
<div class="alert alert-success" id="success-alert">
<button type="button" class="close" data-dismiss="alert">x</button>
<strong>Success! </strong>
Product have added to your wishlist.
</div>
Для гладкого слайда:
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500);
});
Использование fadeTo()
, которое исчезает до непрозрачности 500 секунд за 2 секунды в коде "I Can Have Kittenz", не читается мне. Я думаю, что лучше использовать другие параметры, такие как delay()
$(".alert").delay(4000).slideUp(200, function() {
$(this).alert('close');
});
Я нашел, что это лучшее решение
$(".alert-dismissible").fadeTo(2000, 500).slideUp(500, function(){
$(".alert-dismissible").alert('close');
});
Почему все остальные ответы используют slideUp
, просто выше меня. Поскольку я использую классы fade
и in
, чтобы оповещение исчезало при закрытии (или после таймаута), я не хочу, чтобы он "скользил" и противоречил этому.
Кроме того, метод slideUp
даже не работал. Само предупреждение не показывалось вообще. Вот то, что отлично сработало для меня:
$(document).ready(function() {
// show the alert
setTimeout(function() {
$(".alert").alert('close');
}, 2000);
});
еще одно решение для этого Автоматическое закрытие или исчезновение предупреждающего сообщения бутстрапа через 5 секунд:
Это HTML-код, используемый для отображения сообщения:
<div class="alert alert-danger">
This is an example message...
</div>
JS Snippet
<script type="text/javascript">
$(document).ready(function () {
window.setTimeout(function() {
$(".alert").fadeTo(1000, 0).slideUp(1000, function(){
$(this).remove();
});
}, 5000);
});
</script>
$(document).ready
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").alert('close');
});
Где параметры fadeTo: fadeTo (скорость, непрозрачность)