2011-04-26 25 views
2

我寫了下面的jQuery插件,它基本上只是一個簡單的通知系統,用於向用戶顯示消息。如果您一次顯示1條消息,則此功能非常有用。但是,如果您有多條消息要顯示給用戶,那麼它們顯然會顯示在另一個之上。排隊系統通知的正確方法?

我的問題是,鑑於此代碼,你會如何建議我實現一個消息隊列系統?我想每次只顯示1條消息,因此當關閉按鈕被點擊或者fadeOut完成時,下一條消息將會啓動並開始處理。

我最初的想法是檢查消息是否已被顯示,並可能將當前消息推送到數組上,然後在第一條消息被刪除時將其彈出,但我似乎無法弄清楚。

JsFiddle link

回答

2

我假設你想顯示在您收到的順序通知。使用陣列作爲隊列(push(x)將通知添加到列表末尾,shift()可以抓取從隊列前面接收到的下一條消息)。

添加一個句柄來檢測消息何時關閉或讀取,然後shift()通知隊列獲取下一條要顯示的消息,這會將其從隊列中刪除。

+0

我嘗試了類似於這種方法的東西,但無法獲得適當的時間將其推入數組堆棧。你什麼時候這樣做?立即? – 2011-04-26 15:32:48

+0

無論何時你或用戶有通知,它都可以進入隊列。您只能在關閉通知後顯示下一個內容。別擔心那裏還有什麼。 – Max 2011-04-26 15:38:41