закрыть предыдущие уведомления jGrowl перед отображением нового - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть простое приложение, которое выполняет $.jGrowl("loading");. Затем данные отображаются $.jGrowl("blah blah blah data goes here"); после обработки данных, что может занять 1-5 секунд.

Я видел сообщение , в котором упоминается использование default.pool для отображения только одного сообщения за раз. Формат, который я хочу:

  • Показать коробку 1
  • данные хруста
  • закрыть окно 1
  • Показать окно 2

Существует ли функция jGrowl, которая может быть запущена для закрытия всех уведомлений?

UPDATE
в соответствии с исходным примером вы можете сделать следующее
$('#loading').jGrowl('<img src="images/loading.gif" alt="Loading..." />');
затем позвоните, чтобы закрыть его
$('#loading').jGrowl('shutdown');
<div id="loading" class="top-right"></div> это скрывает загрузочный рык, но также скрывает последующие уведомления в этом регионе.

Ответы [ 2 ]

1 голос
/ 11 ноября 2009
$('#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 выше скрывается div loadinggrowl после загрузки содержимого.

это может быть не самый лучший способ, но это работает.

0 голосов
/ 21 декабря 2016

Вы можете найти все уведомления с помощью $(".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");
...