Ben bezig met een "voortgang balk". Eigenlijk moet het een balk worden die in een opgegeven tijd "volloopt". als ik bijvoorbeeld een begin percentage van 50 opgeef en een eind van 60 in een tijd van 1000 ms dan moet hij 10 procent vullen in 1 sec. En dat is iedere 100ms 1 procent en 1 procent is 4 pixels in de balk. In die 1 seconde moet het script dus 10 keer 4 pixels aan de balk toevoegen.
Wat ik nu heb gemaakt is het volgende:
divje_aanpassen("start percentage","eind percentage","de tijd dat hij er over moet doen","huidig percentage(om mee te nemen na de settimeout)")
Het scriptje vertoont niet het gedrag wat ik graag zou willen. Wat hij nu doet is getallen overslaan en de aler van "huidig" laat allerlei getallen zien....
Wat is de fout waardoor hij niet netjes optelt.... ?
Wat ik nu heb gemaakt is het volgende:
divje_aanpassen("start percentage","eind percentage","de tijd dat hij er over moet doen","huidig percentage(om mee te nemen na de settimeout)")
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| function divje_aanpassen(percentage_van,percentage_tot,tijd,huidig){ document.getElementById("voortgang_procent").innerHTML = huidig+"%"; //laat huidig percentage zien in het element document.getElementById("progress_midden").innerHTML = ""; //maak de balk leeg,om optellen van images te voorkomen img = document.createElement("img"); //creer een img element img.src = 'images/progress_midden.gif'; breed = huidig*4; //4 pixels per procent img.width = breed; img.height = 12; percentage_verschil = percentage_tot - percentage_van; //bereken het verschil tussen het begin(60) en eind percentage(50) = 10% optellen tijd_per_stapje = tijd / percentage_verschil; //tijd is 1000ms ;bereken de tijd per % while(huidig<=percentage_tot){ alert(huidig);//geef het huidige percentage weer k = setTimeout('divje_aanpassen("percentage_van","percentage_tot","tijd","huidig")',tijd_per_stapje);//functie nogmaals aanroepen huidig++; if(huidig=percentage_tot){ clearTimeout(k);//timeout stoppen } } divje = document.getElementById("progress_midden"); //var definieeren divje.appendChild(img);//img aan element toevoegen } |
Het scriptje vertoont niet het gedrag wat ik graag zou willen. Wat hij nu doet is getallen overslaan en de aler van "huidig" laat allerlei getallen zien....
Wat is de fout waardoor hij niet netjes optelt.... ?
https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl