Я написал простой сценарий JQuery для автоматического закрытия каждого оповещения на моей веб-странице в разные периоды времени.Автоматическое закрытие автозагрузки Bootstrap
Это мой JQuery код:
$(function() {
var alert = $('div.alert[auto-close]');
alert.each(function() {
var time_period = $(this).attr('auto-close');
setTimeout(function() {
$(this).alert('close');
}, time_period);
});
});
Вот мои два образца оповещения:
<div class="alert alert-danger alert-dismissible" role="alert" auto-close="3000">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
alert one
</div>
<div class="alert alert-success alert-dismissible" role="alert" auto-close="5000">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
alert two
</div>
Каждое предупреждение имеет пользовательский атрибут со значением, которое используется в качестве периода времени предупреждения закрытия.
По какой-то причине закрытие оповещения не работает.
попробовать: 'вар this_alert = $ (это),' ниже TIME_PERIOD вар. Затем в setTimeout вместо '$ (this) .alert ('close');' do: 'this_alert.alert ('close')' – dMd
'$ (this)' различается внутри области обратного вызова setTimeOut'. кешируйте его. проверьте мой ответ ниже. – Iceman
Ya, теперь я понял, что вызывает ошибку. – Great9