javascript - 淡出多个 Bootstrap 警报

标签 javascript jquery twitter-bootstrap

我遇到了一个问题,询问如何在 5 秒后淡出 Bootstrap 警报,答案是以下代码。问题是,它只工作一次,但是因为我有多个在 AJAX 调用后生成的警报,所以这不好。如何在每次触发警报时运行以下代码?

window.setTimeout(function() {
     $(".alert").fadeTo(500, 0).slideUp(500, function(){
          $(this).remove(); 
     });
}, 5000);

最佳答案

一种可能的解决方案是在显示警报后使用自定义事件 showalert 并在事件处理程序中删除警报

$(document).on('showalert', '.alert', function(){
    window.setTimeout($.proxy(function() {
        $(this).fadeTo(500, 0).slideUp(500, function(){
            $(this).remove(); 
        });
    }, this), 5000);
})  

$('<div class="alert alert-error">' + 'some message' + '</div>').appendTo('#result').trigger('showalert');

演示:Fiddle

关于javascript - 淡出多个 Bootstrap 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305648/

相关文章:

javascript - 在 Bootstrap 2.3 中更改崩溃图标而不是在 bootstrap 3 中

twitter-bootstrap - 使用 Bootstrap 和 Thymeleaf 从列表中动态创建选项卡

javascript - 我什么时候应该使用多个事件名称和不同的事件发射器?

javascript - 在 Laravel 5.3 中使用 Socket.io 和 Redis 广播事件

div 标题上的 jQuery 1.6 prop()

javascript - 由于 JQuery 函数,单选按钮默认选中不起作用

java - 从 bootstrap x-editable 发送数据

javascript - <Script> 标签内的 HTML 代码

JavaScript 到 jquery

javascript - 单击建议时防止关闭最新的 Twitter 类型?