如何一一自动隐藏多个警报。先进先出?

Posted

技术标签:

【中文标题】如何一一自动隐藏多个警报。先进先出?【英文标题】:How to auto hide multiple alerts one by one. first in - first out? 【发布时间】:2016-02-26 04:44:54 【问题描述】:

我在网页中有一个通知区域,其中可以包含多个引导警报。

<div class='notification-area> </div>

我正在尝试显示多个警报,并让最旧的警报在 5 秒后自动关闭,第一个警报先出。

这是我目前所拥有的。注意:它会立即关闭所有内容。

showNotification(header: string, text: string, alertAttribute: string) 
            var notificationBoxID: string = "notificationBox" + $('.notification-area').children().length;


       //Appends this html into the notification-area class
        $('.notification-area').append(
            '<section id="' + notificationBoxID + '" class="alert  alert- dismissible" role="alert">' +
            '<button type="button" class="close" data-dismiss="alert"  aria-label="Close"><span aria-hidden="true">&times;</span></button>' +
            '<p style ="font-weight: bold;" class="notification-message-header"></p>' +
            '<p class="notification-message-body"></p>' +

            '</section>'
            );

        // Selects the children  of the notificationBoxId section.
        var notificationSel = '#' + notificationBoxID;

        //set the notification: header, body and css style dynamically
        $(notificationSel + ' > .notification-message-header').text(header);
        $(notificationSel + ' > .notification-message-body').text(text);
        $(notificationSel).addClass(alertAttribute);

     // Auto hides alerts, oldest first
        $(".alert").show(() => 
            setTimeout(() => 
                $(".alert").fadeTo(500, 1).slideUp(500, () => 

                    $(notificationBoxID).hide();
                )
            , 5000)
        );

有人知道我可以如何解决这个问题吗?我已经尝试了一切。非常感谢。

【问题讨论】:

【参考方案1】:

toastr 有超时,所以它们被 fifo 处理。

<script src="toastr.js"></script>

  var options = 
    "preventDuplicates": true,
    "timeOut": 5000
  ;
  toastr.options = options;
  toastr.warning('this is the message, 'Warning:');

【讨论】:

谢谢!那可能很有用。我实际上希望一次显示多个警报。但最老的会在一段时间后消失。 哦,这一次显示多个警报 :) 它们只是堆积在警报区域(在我的应用程序的右上角)。也许屏幕区域是可配置的。无论如何,如果您调用成功、信息、警告或错误,它只会在任何现有通知下方(或上方,如果您设置该属性)添加新通知。

以上是关于如何一一自动隐藏多个警报。先进先出?的主要内容,如果未能解决你的问题,请参考以下文章

页面调度先进先出算法(FIFO) 用C语言描述 欢迎高手前来挑战

PHP使用数组实现队列(实际就是先进先出怎样实现)

VBA - 如何在数组中创建队列? (FIFO)先进先出

队列Queue FIFO先进先出 栈Stack FILO先进后出

队列 先进先出,先进后出,优先级队列

队列排序,先进先出