EXTJS 滾動條之數據加載進度

1.申明控制參數

var progressBar = {};//顯示窗體
var tcount = 0;
var count = 0; //計數器
var bartext = "";
var curnum = 0;
var beloaded = false; //是否加載成功

2.申明進度任務

var task = {
run : function() {
tcount++;
count = count + 5;
// 時間大於200秒
if (count >= 94) {
if (beloaded == false) {
count = count - 5;
}
}
if (count >= 100) {
progressBar.hide();
Ext.TaskMgr.stop(task); //做完停止任務,非常重要
count = 0; //清空計數器,及相關變量
bartext = "";
curnum = 0;
tcount = 0;
}
if (beloaded == true) {
count = 100;
}
curnum = count / 100;
bartext = curnum * 100 + "%";
progressBar.updateProgress(curnum, bartext);


},
interval : 500
};

3. 開始加載滾動條窗體

function SetProgressBar() {
tcount = 0;
count = 0;
bartext = "";
curnum = 0;
beloaded = false;
progressBar = Ext.Msg.show({
msg : "正在加載數據,請稍候...",
progress : true,
width : 300
});
Ext.TaskMgr.start(task);
}

4. 在數據加載結束的地方設置beloaded=true;控制task任務使之爲100%,並隱藏滾動條窗體

log_treeloader.on('load', function(obj, node, response) {
beloaded = true;
if ((response.responseText.search('db_insert_error_j')) >= 0) {
alert(response.responseText);
}
count = 100;
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章