02. november 2007 - 12:25
Der er
10 kommentarer og 1 løsning
For-løkke med setTimeout
Jeg kan ikke finde ud af hvordan man laver en for-løkke med ventetid så den venter 1 second efter hver løkke Kan nogen hjælpe mig???
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
02. november 2007 - 12:34
#1
Du må lægge den i en funktion: ------------------------------ var i=0, iter=10; function MyLoop(){ for(;i<iter;i++){ //kommandoer setTimeout("MyLoop()",1000); } } ------------------------------ Men så er der jo egentlig ikke meget grund til at have en for-løkke. ;) Så bare: ------------------------------ var i=0, iter=10; function MyLoop(){ //kommandoer i++; if(i=iter) setTimeout("MyLoop()",1000); } ------------------------------ Alt afhængigt af dit formål, kunne du også bare ha' det i en setInterval, men den skal jo så stoppes, når for-løkken er slut.
02. november 2007 - 12:49
#2
Altså jeg vil gerne lave en side hvor du kan skrive et tal ind så den ændrer højden på min div langsomt. Min kode indtil videre ser Sådan her ud: -------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Graf</title> <style> div.graf1 { background: red; hieght: 0px; width: 90px; } div.graf2 { background: #000000; height: 0px; width: 90px; } div.graf3 { background: #000000; height: 150px; width: 90px; } div.graf4 { background: #000000; height: 180px; width: 90px; } tr.Grafbox { vertical-align: bottom; } td.tdLeftBottom { border-left: 1px solid #000000; border-bottom: 1px solid #000000; } td.tdBottom { border-bottom: 1px solid #000000; } td { padding: 10px; padding-bottom: 0px; } </style> </head> <body> <form name="fGraf"> <table cellspacing="0" border="0" height="500px"> <tr class="Grafbox"> <td rowspan="2"><input name="inGraf1"><br> <input name="inGraf2"><br> <input name="inGraf3"><br> <input name="inGraf4"><br> <button name="KnapVisGraf">Vis graf</button></td> <td class="tdLeftBottom"><div class="graf1" id="idGraf1"></div></td> <td class="tdBottom"><div class="graf2" id="idGraf2"></div></td> <td class="tdBottom"><div class="graf3"></div></td> <td class="tdBottom"><div class="graf4"></div></td> </tr> <tr> <td colspan="4"></td> </tr> </table> </form> <script language="javascript"> <!--Variabler--> var vGraf1=0 var vGraf2=0 var vGraf3=0 var vGraf4=0 <!--Events--> document.fGraf.KnapVisGraf.onclick=funGraf1; <!--Funktioner--> function funGraf1() { vGraf1=document.fGraf.inGraf1.value; document.getElementById('idGraf1').style.height=vGraf1; for (i=1;i<200;i=i+1) { setTimeout("document.getElementById('idGraf2').style.height=i;",1000); </script> </body> </html>
02. november 2007 - 12:59
#3
Ok. Men kan du ikke bare bruge mit sidste eksempel så? Lige nu i din kode mangler du i øvrigt at afslutte både for-løkken og funktionen.
02. november 2007 - 13:02
#4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Graf</title> <style> div.graf1 { background: red; hieght: 0px; width: 90px; } div.graf2 { background: #000000; height: 0px; width: 90px; } div.graf3 { background: #000000; height: 150px; width: 90px; } div.graf4 { background: #000000; height: 180px; width: 90px; } tr.Grafbox { vertical-align: bottom; } td.tdLeftBottom { border-left: 1px solid #000000; border-bottom: 1px solid #000000; } td.tdBottom { border-bottom: 1px solid #000000; } td { padding: 10px; padding-bottom: 0px; } </style> </head> <body> <form name="fGraf"> <table cellspacing="0" border="0" height="500px"> <tr class="Grafbox"> <td rowspan="2"><input name="inGraf1"><br> <input name="inGraf2"><br> <input name="inGraf3"><br> <input name="inGraf4"><br> <button name="KnapVisGraf">Vis graf</button></td> <td class="tdLeftBottom"><div class="graf1" id="idGraf1"></div></td> <td class="tdBottom"><div class="graf2" id="idGraf2"></div></td> <td class="tdBottom"><div class="graf3"></div></td> <td class="tdBottom"><div class="graf4"></div></td> </tr> <tr> <td colspan="4"></td> </tr> </table> </form> <script language="javascript"> <!--Variabler--> var vGraf1=0 var vGraf2=0 var vGraf3=0 var vGraf4=0 <!--Events--> document.fGraf.KnapVisGraf.onclick=funGraf1; <!--Funktioner--> var i=0; function funGraf1() { vGraf1=document.fGraf.inGraf1.value; document.getElementById('idGraf1').style.height=vGraf1; i++; if(i>200) setTimeout("document.getElementById('idGraf2').style.height=i;",1000); } </script> </body> </html>
02. november 2007 - 13:03
#5
Hov: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Graf</title> <style> div.graf1 { background: red; hieght: 0px; width: 90px; } div.graf2 { background: #000000; height: 0px; width: 90px; } div.graf3 { background: #000000; height: 150px; width: 90px; } div.graf4 { background: #000000; height: 180px; width: 90px; } tr.Grafbox { vertical-align: bottom; } td.tdLeftBottom { border-left: 1px solid #000000; border-bottom: 1px solid #000000; } td.tdBottom { border-bottom: 1px solid #000000; } td { padding: 10px; padding-bottom: 0px; } </style> </head> <body> <form name="fGraf"> <table cellspacing="0" border="0" height="500px"> <tr class="Grafbox"> <td rowspan="2"><input name="inGraf1"><br> <input name="inGraf2"><br> <input name="inGraf3"><br> <input name="inGraf4"><br> <button name="KnapVisGraf">Vis graf</button></td> <td class="tdLeftBottom"><div class="graf1" id="idGraf1"></div></td> <td class="tdBottom"><div class="graf2" id="idGraf2"></div></td> <td class="tdBottom"><div class="graf3"></div></td> <td class="tdBottom"><div class="graf4"></div></td> </tr> <tr> <td colspan="4"></td> </tr> </table> </form> <script language="javascript"> <!--Variabler--> var vGraf1=0 var vGraf2=0 var vGraf3=0 var vGraf4=0 <!--Events--> document.fGraf.KnapVisGraf.onclick=funGraf1; <!--Funktioner--> var i=0; function funGraf1() { vGraf1=document.fGraf.inGraf1.value; document.getElementById('idGraf1').style.height=vGraf1; i++; if(i<200) setTimeout("document.getElementById('idGraf2').style.height=i",1000); } </script> </body> </html>
02. november 2007 - 13:20
#6
Ja Tak. Det virker fint bortset fra det med at den ikke stiger langsomt
02. november 2007 - 13:21
#7
Ret funGraf1 til: function funGraf1() { vGraf1=document.fGraf.inGraf1.value; document.getElementById('idGraf1').style.height=vGraf1; i++; if(i<200) { document.getElementById('idGraf2').style.height=i; setTimeout("funGraf1()", 100); } }
02. november 2007 - 13:36
#8
Ja, den smuttede lige.
02. november 2007 - 13:53
#9
Mange tak det virker jo lige som det skal(-:
02. november 2007 - 14:25
#10
100% til w13.
02. november 2007 - 17:36
#11
Ok. =) Tak. Og her er et svar.
Vi tilbyder markedets bedste kurser inden for webudvikling