Autor | Zpráva | ||
---|---|---|---|
Senky Profil |
#1 · Zasláno: 10. 1. 2010, 12:26:57
Zdravím,
ako som si tak robil jeden skript, prišiel som na to, že sa mi skript cyklí a nevedel som prečo. Časť skriptu vyzerala takto: for (i = 0; i <= 8; i+3) napodiv, prehliadač sa mi zasekol a nakoniec vypísal, že skript nereaguje, či ho chcem ukončiť. Skúsil som to teda takto: var i=0; while(i<=8) { // robím robím... output += i + "<br />"; i=i+3; } alert(output); Vyhodilo mi to iba 0 0 0 0 atď... Tiež som to skúsil na w3schools a po tom, čo som tuto zamenil kód na <html> <body> <script type="text/javascript"> for (i = 0; i <= 5; i+3) { document.write("The number is " + i); document.write("<br />"); } </script> <p>Explanation:</p> <p>This for loop starts with i=0.</p> <p>As long as <b>i</b> is less than, or equal to 5, the loop will continue to run.</p> <p><b>i</b> will increase by 1 each time the loop runs.</p> </body> </html> mi to začalo zase cykliť, až kým ho prehliadač nezastavil. Vedel by mi niekto vysvetliť, čo je tam zlé a prečo sa to cyklí? Ďakujem za odpovede... |
||
Taps Profil |
#2 · Zasláno: 10. 1. 2010, 12:34:17
Senky:
for (i = 0; i <= 8; i+3) proč dáváš i+3 ? |
||
Senky Profil |
#3 · Zasláno: 10. 1. 2010, 12:44:01 · Upravil/a: Senky
Pretože chcem vybrať každé tretie <td> v tabuľke...
EDIT: Tak už som to vyriešil cez while. Problém bol v tom, že ja som potom identifikoval ďalšie td-čká podľa premennej i, ibaže ja som počas toho, ako som cez getElementsByTagName('td').length zistil, koľko ich tam je, musím odpočítať ešte 3. Ďakujem za ochotu... |
||
fajzen Profil |
#4 · Zasláno: 10. 1. 2010, 17:27:40
nie, problém je v tom, že výraz i+3 nezmení sám o sebe hodnotu uloženú v premennej i... musí byť i = i + 3 (takisto i++ neznamená i + 1, ale i = i + 1)
|
||
Senky Profil |
#5 · Zasláno: 10. 1. 2010, 21:57:15
Aha, tak dobre vedieť do budúcna. Dik...
|
||
Časová prodleva: 14 let
|
0