KimhillZhang  

起初对Ext.MessageBox.updateProgress的误用,导致看到很不乐观的效果,想想自己实在愚蠢啊。。。。。

起先:
        var fun = function (p) {
                return function () {
                    if (p == 20) {
                        Ext.MessageBox.hide();
                    } else {

                        Ext.MessageBox.progress("请等待", "数据处理进度...");
                        Ext.MessageBox.updateProgress(p / 20, '正在处理第' + p + '个,一共20个');
                    }
                };
            }
            for (var i = 1; i <= 20; i++) {
                setTimeout(fun(i), i * 1000);
            }

这将导致进度框一直闪(重新创建),

后来改成:

Ext.MessageBox.progress("请等待", "数据处理进度...");
    var fun = function (p) {
                return function () {
                    if (p == 20) {
                        Ext.MessageBox.hide();
                    } else {
                        Ext.MessageBox.updateProgress(p / 20, '正在处理第' + p + '个,一共20个');
                    }
                };
            }
            for (var i = 1; i <= 20; i++) {
                setTimeout(fun(i), i * 1000);
            }

这样就正常了。

posted on 2012-03-31 09:40  KimhillZhang  阅读(1051)  评论(0编辑  收藏  举报