我编写了以下jQuery插件,它基本上只是一个用于向用户显示消息的简单通知系统。如果您一次只显示1条消息,则此功能非常有用。但是,如果您要向用户显示多条消息,则它们显然会相互叠加显示。
我的问题是,鉴于此代码,您如何建议我实现消息排队系统?我想一次只显示1条消息,因此当单击关闭按钮或fadeOut完成时,下一条消息将启动并启动该过程。
我最初的想法是检查消息是否已经显示,并且可能将此当前消息推送到阵列,然后在删除第一条消息时将其弹出,但我似乎无法弄明白。
答案 0 :(得分:2)
我假设您希望按照收到的顺序显示通知。使用数组作为队列(push(x)
将通知添加到列表末尾,shift()
以获取从队列前面收到的下一条消息。
添加句柄以检测消息何时关闭或读取,然后shift()
通知队列以获取要显示的下一条消息,这将从队列中删除它。