jGrowl: Как я могу ограничить свой интерфейс одним сообщением за раз? - PullRequest
3 голосов
/ 25 августа 2009

Дано: я загружаю очередь сообщений при загрузке страницы.

С помощью jGrowl, как я могу отображать каждое сообщение, по одному сообщению за раз, как капельное?

Ответы [ 3 ]

8 голосов
/ 25 августа 2009

Мне нужно было сделать это для проекта, несколько месяцев назад. Если вы используете функцию пула, доступную в последней версии jGrowl (1.2.0 на момент написания статьи), вы можете просто написать:

$.jGrowl.defaults.pool = 1;

Таким образом, вы можете загрузить их все одновременно, jGrowl позаботится о том, чтобы показывать только по одному за раз. Когда сообщение закрывается, jGrowl автоматически отображает следующее.

Надеюсь, это то, что вы хотели.

2 голосов
/ 20 июля 2010

$. JGrowl.defaults.pool == 0;

if ($ (this.element) .find ('div.jGrowl-messages: parent'). Size () <0) {</p>

В настоящее время, работая над уведомлениями на сайте, я не мог найти способ показывать по одному, пока не нашел эту страницу. Спасибо Бруно! Вы спасли меня. :)

1 голос
/ 25 августа 2009

Поскольку вы указываете временной интервал, для которого отображается сообщение (максимум), вы можете просто использовать JS setTimeout для циклического перемещения по массиву с тем же интервалом, создавая новое сообщение. *

В качестве альтернативы, jGrowl может принять функцию (e, m, o) в качестве параметра close и использовать ее в качестве обратного вызова всякий раз, когда сообщение закрывается. В этой функции создайте новое сообщение из своей очереди, и вы должны быть установлены. Смотри документацию здесь .

...