LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

一个简单的JavaScript异步处理事件队列

admin
2011年11月13日 23:58 本文热度 2882
当我们需要连续执行几个函数,而这几个函数会一直对页面元素进行操作时,很可能页面会出现短暂的卡,然后,一下子爆炸性的出现所有信息。


一般我们会用setTimeout(fn,0);这种来执行,其实js的setTimeout,特别是IE6的,响应时间最快也要17毫秒左右,所以,设置成0,意义不大。


而且,这种做法,存在不连续,不连贯性。所以,自己写了个简单的。


 



 1 /**
 2  * @author floyd
 3  * @name 异步处理事件队列
 4  * @example var qe = new QueneEnginer();qe.add(fn,context,arrParam);qe.start();
 5  */
 6 
 7 var QueneEnginer = function(){
 8 
 9     this.Quene = [];
10 }
11 QueneEnginer.prototype = {
12     processTime : 20,
13     /**
14      * 添加事件到队列中
15      * @param {function} fn 函数对象
16      * @param {object} context 上下文对象 可为空
17      * @param {array} arrParam 参数数组 可为空
18      */
19     add : function(fn,context,arrParam){
20 
21         this.Quene.push(
22             {
23                 fn : fn,
24                 context : context,
25                 param : arrParam
26             }
27         );
28     },
29     start : function(){
30         var that = this;
31         setTimeout(function(){that.process();},that.processTime);
32     },
33     process : function(){
34         
35         var quene = this.Quene.shift();
36         
37         if(!quene)return ;
38 
39         quene.fn.apply(quene.context,quene.param);
40         
41         quene = null;
42         
43         this.start();
44     }
45 }


该文章在 2011/11/13 23:58:24 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved