16. januar 2004 - 23:36Der er
11 kommentarer og 1 løsning
funktion(i) skal kaldes
En funktion popUp(i); der er oprettet 'for (i=0; i<16; i++)'. Funktionen er oprettet i ekstern .js-fil. Er det ikke muligt at kalde popUp(1) i på én side og popUp(2) på en anden side uden at jeg får vist 'for (i=0; i<16; i++)' på hver side hvor funktionen er kaldt med i='bestemt tal'. Funktionen ser nogenlunde sådan ud: function popUp(i) { txt=""; for (i=0; i<16; i++) { txt+="en masse tekst og billeder(i)";} document.write(""+txt+""); }
Burde jeg så ikke kunne kalde popUp(1) på en side for kun at få vist hvor i=1?
variablen i redefineres vel i dit for loop (hvor den sættes til 0). Iøvrigt vil din tekststreng aldrig udskrive værdien af i efterson i blot er en karakter i tekststrengen. den burde vel lyde noget i stil med:
function popUp(j) { txt=""; for (i=0; i<j; i++) { txt+="en masse tekst og billeder("+i+")";} document.write(""+txt+""); }
Min funktion ser ca. sådan ud function popUp(i) { txt=""; for (i=0; i<16; i++) { txt+="<table><tr><td><img src=\"Pics/"+billede[i][0]+"/IMAGE001.jpg\" name=\"item_"+i+"\"></td></tr><tr><td><a href=\"#\" onMouseOver=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE002.jpg'\"; onMouseOut=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE001.jpg'\">.....";} document.write(""+txt+""); }
Medmindre der er meget god grund så kan du jo bare gøre sådan her: function popUp(i) txt = "<table><tr><td><img src=\"Pics/"+billede[i][0]+"/IMAGE001.jpg\" name=\"item_"+i+"\"></td></tr><tr><td><a href=\"#\" onMouseOver=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE002.jpg'\"; onMouseOut=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE001.jpg'\">....."; document.write(txt);
hvis du derimod skal printe alle billederne ud på én af siderne og kun en enkelt på resten, så kunne du gøre det på denne måde istedet: function popUp(i) { txt=""; if (i) {txt = "<table><tr><td><img src=\"Pics/"+billede[i][0]+"/IMAGE001.jpg\" name=\"item_"+i+"\"></td></tr><tr><td><a href=\"#\" onMouseOver=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE002.jpg'\"; onMouseOut=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE001.jpg'\">.....";} else { for (i=0; i<16; i++) { txt+="<table><tr><td><img src=\"Pics/"+billede[i][0]+"/IMAGE001.jpg\" name=\"item_"+i+"\"></td></tr><tr><td><a href=\"#\" onMouseOver=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE002.jpg'\"; onMouseOut=\"document.item_"+i+".src='Pics/"+billede[i][0]+"/IMAGE001.jpg'\">.....";} } document.write(txt); }
så skal du bare kalde funktionen uden et argument (fx popUp() ) for at printe alle ud og fx popUp(1) hvis du kun vil have printet et enkelt billede ud.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.