首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建消息队列?

如何创建消息队列?
EN

Stack Overflow用户
提问于 2011-02-17 19:10:55
回答 3查看 5.1K关注 0票数 1

我想要显示一些小消息,以便在用户提供输入或仅与UI交互时向用户提供反馈。

我的firefox插件需要它,所以我必须用普通的javascript而不是jQuery来开发它。

我希望消息出现,但同时只有一条消息可见,因此我需要某种队列来管理传入消息。在一段时间后,例如3秒,消息应该会逐渐消失或消失。

现在,我可以向DOM添加消息。有什么建议吗?如何实现队列,如何根据时间推送消息?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-17 19:59:10

你可以在火狐插件中使用jQuery:

在xul文件中包含指向jQuery文件的脚本标记,例如:

代码语言:javascript
复制
<script type="text/javascript" src="chrome://extensionname/content/jquery.js" />

在每个使用jQuery的js函数中,插入以下行:

代码语言:javascript
复制
$jQuizzle = jQuery.noConflict(); 

在每次jQuery调用中,如果您试图在当前浏览器窗口中操作文档,则必须提供"window.content.document“形式的上下文,如下所示:

代码语言:javascript
复制
$jQuizzle(".myClass", window.content.document).show();

然后,您可以使用这个jQuery插件:http://benalman.com/projects/jquery-message-queuing-plugin/

票数 1
EN

Stack Overflow用户

发布于 2011-02-17 20:10:04

也许你需要先进先出(First In First Out)的概念

看一下这个用plan java script language编写简单示例:

代码语言:javascript
复制
function Queue() {
    var data = [];

    this.isEmpty = function() {
        return (data.length == 0);
    };

    this.enqueue = function(obj) {
        data.push(obj);
    };

    this.dequeue = function() {
        return data.shift();
    };

    this.peek = function() {
        return data[0];
    };

    this.clear = function() {
        data = [];
    };
}
票数 4
EN

Stack Overflow用户

发布于 2011-02-19 08:29:53

目前还不清楚您希望显示哪种类型的消息。nsIAlertsService可以显示消息,但我不确定它对消息进行排队的效果如何。如果你想要更简单的东西,也许你可以只显示一个定制的<tooltip>元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5028149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档