【问题标题】:close previous jGrowl notifications before showing a new one在显示新通知之前关闭以前的 jGrowl 通知
【发布时间】:2016-12-21 19:49:43
【问题描述】:

我有一个执行$.jGrowl("loading"); 的简单应用程序。然后在处理可能需要 1 -5 秒的数据后显示数据$.jGrowl("blah blah blah data goes here");

我看到post 提到使用 default.pool 一次只显示一条消息。我想要的格式是:

  • 显示框 1
  • 压缩数据
  • 关闭框 1
  • 显示框 2

有没有可以启动关闭所有通知的jGrowl功能?

更新
根据源示例,您可以执行以下操作
$('#loading').jGrowl('<img src="images/loading.gif" alt="Loading..." />');
然后打电话关闭它
$('#loading').jGrowl('shutdown');
<div id="loading" class="top-right"></div> 这确实隐藏了加载咆哮,但它也隐藏了该区域中的后续通知。

【问题讨论】:

    标签: jquery notifications jgrowl


    【解决方案1】:
    $('#loadinggrowl').jGrowl('<img src="images/loading.gif" alt="Loading..." />');
    $.jGrowl('content here');
    document.getElementById('loadinggrowl').style.display = "none";
    
    <body><div id="loading" class="top-right"></div></body>
    

    上面的第 3 行在加载内容后隐藏了 loadinggrowl div。

    这可能不是最好的方法,但它确实有效。

    【讨论】:

      【解决方案2】:

      您可以使用$(".jGrowl-notification").each 找到所有通知,使用.trigger('jGrowl.beforeClose') 触发关闭功能,然后创建新的咆哮,如下所示:

      $(".jGrowl-notification").each(function () {
          if ($(this).data("jGrowl") !== undefined && $(this).data("jGrowl").created !== undefined) {
              $(this).data("jGrowl").trigger('jGrowl.beforeClose');
          }
      });
      $.jGrowl("NEW MESSAGE");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-03
        • 2020-02-14
        相关资源
        最近更新 更多