Jeśli lista zasobów (pliki JavaScript) jest dostępna, można zrobić coś takiego:
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
});
Za każdym razem, kiedy zasób został załadowany zaktualizować pasek postępu. Po załadowaniu wszystkich zasobów możesz ukryć pasek postępu.
$.when.apply()
służy do pobrania tablicy odroczonej do jednego centralnego odroczonego. Jeśli to centralne opóźnienie zostanie zakończone, wszystkie odroczenia "na" zostaną zakończone.
Oczywiście można również dodawać obrazy itp. Do listy zasobów, ale należy zmodyfikować the way of loading dla konkretnego zasobu.
W razie potrzeby here można znaleźć więcej informacji o Odroczonych obiektach.
Edycja: Oczywiście nie można zobaczyć rzeczywistego procesu, jeśli tylko jeden zasób znajduje się w tablicy zasobów.