我正在使用示例中的动态引导警报。见下文。
如何添加超时功能,以便在 X 时间后自动关闭?
HTML:
<div id="alert_placeholder"></div>
JQUERY:
bootstrap_alert = function() {
}
bootstrap_alert.warning = function(message) {
$('#alert_placeholder').append('<div class="alert alert-block fade in"><button type="button" class="close" data-dismiss="alert">×</button><h4>Info!</h4>'+ message +'</div>');
}
bootstrap_alert.info = function(message) {
$('#alert_placeholder').append('<div class="alert alert-block alert-info fade in"><button type="button" class="close" data-dismiss="alert">×</button><h4>Info!</h4>'+ message +'</div>');
}
答案 0 :(得分:9)
创建一个删除第一个(因此,最旧的)警报的函数:
function alertTimeout(wait){
setTimeout(function(){
$('#alert_placeholder').children('.alert:first-child').remove();
}, wait);
}
[0]
确保每次超时仅删除第一个警报。
然后在显示警报时调用该函数,参数是警报关闭的时间,以毫秒为单位:
bootstrap_alert.warning = function(message) {
$('#alert_placeholder').append('<div class="alert alert-block fade in"><button type="button" class="close" data-dismiss="alert">×</button><h4>Info!</h4>'+ message +'</div>');
alertTimeout(5000);
}
请参阅此jsFiddle
答案 1 :(得分:1)
尝试这个
$(function () {
setTimeout(function () {
if ($(".alert").is(":visible")){
//you may add animate.css class for fancy fadeout
$(".alert").fadeOut("fast");
}
}, 3000)
});