Avatar billede www.duzer.dk Nybegynder
29. januar 2003 - 20:16 Der er 6 kommentarer og
1 løsning

løkke (javascript)

Hej eksperter.. hvordan laver jeg en lykke der gentager det her layer :

<div id='felt' style='POSITION: absolute;top:0;left:0;'><img src='felt.gif' width='40' height='60' alt=''></div>

Det layeret skal komme 120 gange efter hinanden men hver gang det vises igen skal det flyttes med 40px hen af, og hvergang den er kommet 20 layer ved sidan af hinanden skal den gå 60px ned og lave 20 til O.S.V. hver felt skal have så dere id er felt1 felt2 felt3 og så videre

Har nu rodet med det i over 2 timer og giver nu op.. nu håber jeg i kan hjælpe mig..
Avatar billede jespernaur Nybegynder
29. januar 2003 - 20:25 #1
Løkken kan se således ud:

felt_id = 1;

for (row = 0; row < 5; row++) {
  top_px = row*60;
  for (col = 0; col < 19; col++) {
      left_px = col*20;
      // generer kode til position (left_px, top_px) med felt = felt_id
  }
}
Avatar billede jespernaur Nybegynder
29. januar 2003 - 20:26 #2
Ups, mangler at inkrementere felt_id inderst i løkkerne:

      felt_id++;
Avatar billede www.duzer.dk Nybegynder
29. januar 2003 - 20:33 #3
Tak det virker du ahvde bare misforstået nogle af tallende.. men fik rettet det.. ser det her rigtigt ud??

<body topmargin="0" leftmargin="0">
<SCRIPT LANGUAGE="javascript">
document.write("<BODY background='rum.gif'>");


felt_id = 1;

for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 20; col++) {
      left_px = col*40;
document.write("<div id='felt' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'><img src='felt.gif' width='40' height='60' alt=''></div>");
      // generer kode til position (left_px, top_px) med felt = felt_id
  }
felt_id++;
}
</script>

Her får du dine point, og tak for hjælpen
Avatar billede jespernaur Nybegynder
29. januar 2003 - 20:44 #4
Du har ret, jeg havde overset at kolonnerne skal være 40 px brede og ikke 20. Men du er endnu ikke begyndt at bruge felt_id, og nu kommer det an på om du skal have unikke id'er, altså 'felt1', 'felt2' ... 'felt120', eller om de skal gå igen for hver række. Hvis de skal gå fra 1-120, skal inkrementeringen flyttes ind i den inderste løkke.

Mvh
Jesper Naur
Avatar billede www.duzer.dk Nybegynder
29. januar 2003 - 20:49 #5
Jeg har fundet du af at for at alle sammen kunne få 1 2 3 4 5 6 id'er så skulle den der felt_id++; rykkes.. men første felt starter fra 2 kan man lave det om.. her er min kode som den ser ud nu :
<body topmargin="0" leftmargin="0">
<SCRIPT LANGUAGE="javascript">
document.write("<BODY background='rum.gif'>");


felt_id = 1;

for (row = 0; row < 6; row++) {
  top_px = row*60;
  for (col = 0; col < 20; col++) {
      left_px = col*40;
  felt_id++;
document.write("<div id='felt"+felt_id+"' style='POSITION: absolute;top:"+top_px+";left:"+left_px+";'>");
document.write("<a onclick'java script:ryk("+left_px+","+top_px+","+felt_id+");'><img src='felt.gif' width='40' height='60' alt=''></a></div>")
      // generer kode til position (left_px, top_px) med felt = felt_id
  }
}
</script>
Avatar billede jespernaur Nybegynder
29. januar 2003 - 20:58 #6
Flyt felt_id++; ned efter document.write
Avatar billede www.duzer.dk Nybegynder
29. januar 2003 - 21:06 #7
okey
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis