我想在网页中展示一个进度条/加载弹窗,直到页面完全加载完成。
我的网页很重,因为其中包含一个HTML编辑器,这是一个基于jQuery的HTML编辑器,需要花费很长时间才能完全加载。在它加载时,我希望在我的页面上显示一个进度条,该进度条将在整个页面加载完成后被删除。
我的网页很重,因为其中包含一个HTML编辑器,这是一个基于jQuery的HTML编辑器,需要花费很长时间才能完全加载。在它加载时,我希望在我的页面上显示一个进度条,该进度条将在整个页面加载完成后被删除。
不知道如何显示进度条。
但是使用jQuery BlockUI插件很容易显示加载弹出窗口。
只需在head标签中引用jQuery和BlockUi插件即可。
像这样做。
$(document).ready(function() {
// block page
$.blockUI();
//load your editor here
//after load complete unblock page
$.unblockUI();
});
var loadedResources = 0;
var deferreds = [];
var resList = [ 'res1.js', 'res2.js' ];
$.each(resList, function(index, res) {
var load = $.ajax({
type: "GET",
url: res,
dataType: "script"
}).then(function() {
loadedResources += 1;
//Update progress bar here
//Use variable 'loadedResources' and 'resList.length'
//to calculate the width of the progess bar
});
deferreds.push(load);
});
$.when.apply(this, deferreds).then(function() {
//Hide or remove progress bar here because all resources were loaded
});
$.when.apply()
将延迟数组合并为一个中央延迟对象。如果此中央延迟对象完成,则其中的所有延迟对象也完成了。