Melouch cyklus ako cyklus. Nikdy v živote nebudeš riešiť dilemu "while alebo for", proste použiješ jeden a hotovo, oba fungujú rovnako. Veď sú to cykly.
V javascripte na toto ale cyklus vôbec nepotebuješ. Zadáš setInterval a v ňom prečítaš hodnotu progressbaru, zvýšiš ju, vykreslíš a uložíš. Hotovo.
Niečo takéto
Kód:
var progressVal = 0;
var progressBar = [nejaka implementacia];
setInterval( function() {
progressVal += 10; //precitam, zvysim, ulozim
progressBar.value = progressVal; //vykreslim
}, 1000); //kazdu sekundu
prípadne ak to chceš zastaviť na 100, môžeš využiť setTimeout
Kód:
var progressVal = 0;
var progressBar = [nejaka implementacia];
progress();
function progress() {
setTimeout( function() {
progressVal += 10; //precitam, zvysim, ulozim
progressBar.value = progressVal; //vykreslim
if( progressVal < 100 ) progress(); //zavolam znovu
}, 1000); //pockam sekundu
}
alebo horšia varianta - úprava prvého príkladu
Kód:
setInterval( function() {
if( progressVal >= 100 ) return;
progressVal += 10; //precitam, zvysim, ulozim
progressBar.value = progressVal; //vykreslim
}, 1000); //kazdu sekundu