在显示新的jGrowl通知之前关闭它们

时间:2009-11-11 19:45:08

标签: jquery notifications jgrowl

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

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

  • 显示框1
  • 紧缩数据
  • 关闭框1
  • show box 2

是否可以启动jGrowl函数来关闭所有通知?

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

2 个答案:

答案 0 :(得分: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。

这可能不是最好的方式,但它有效。

答案 1 :(得分:0)

您可以使用$(".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");