2009-11-11 3 views
0

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

Я видел post, который упоминает использование 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> что делает скрыть загрузки рычание, однако он также скрыть последующие уведомления в это регион.

ответ

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 выше скрывает загрузку div после загрузки содержимого.

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

0

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