Правильный способ поставить в очередь системные уведомления? - PullRequest
2 голосов
/ 26 апреля 2011

Я написал следующий плагин jQuery, который в основном представляет собой простую систему уведомлений, используемую для отображения сообщений пользователю. Это прекрасно работает, если у вас есть 1 сообщение для отображения одновременно. Однако, если у вас есть несколько сообщений для отображения пользователю, они, очевидно, отображаются прямо друг на друга.

Мой вопрос, учитывая этот код, как бы вы порекомендовали мне внедрить систему очередей сообщений? Я бы хотел показывать только 1 сообщение за раз, поэтому при нажатии кнопки закрытия или завершении fadeOut следующее сообщение сработает и запустит процесс.

Первоначально я задумался о том, чтобы проверить, отображалось ли уже сообщение, и, возможно, поместил это текущее сообщение в массив, а затем выдвинул его, когда удаляется первое сообщение, но я не могу этого понять.

JsFiddle link

1 Ответ

2 голосов
/ 26 апреля 2011

Я предполагаю, что вы хотите отображать уведомления в порядке их получения.Используйте массив как очередь (push(x) для добавления уведомлений в конец списка, shift() для получения следующего сообщения, полученного с начала очереди).

Добавьте дескриптор, чтобы определить, когдасообщение закрывается или читается, а затем shift() очередь уведомлений для получения следующего отображаемого сообщения, которое удалит его из очереди.

...