Avatar billede sw_red_6 Nybegynder
12. oktober 2006 - 16:01 Der er 8 kommentarer og
1 løsning

problemer med for-løkke med if-else

Jeg har følgende funktion som jeg ikke kan få til at virke som det er meningen. Hvor er den fejl?
function vis_link(dato) {
  for(i = 1; i <= 31; i += 1) {
    if(i == dato) {
alert(i + ' ' + dato);
      document.getElementById('link_'+dato).style.display='block';
    }
    else {
      document.getElementById('link_'+i).style.display='none';
    }
  }
}

jeg har selv fundet ud af at det er her det sker:
else {
  document.getElementById('link_'+i).style.display='none';
}
men jeg kan bare ikke finde ud af hvad der går galt
Avatar billede olebole Juniormester
12. oktober 2006 - 16:06 #1
<ole>

Der er ingen fejl ... det må være et andet sted  =)

/mvh
</bole>
Avatar billede sw_red_6 Nybegynder
12. oktober 2006 - 16:10 #2
hmmm, så det mener du?
jeg har fjernet den linie inden i else { } og så virker skidtet pludselig, derfor jeg er lidt forvirret mht. hvor det går galt, men her er næsten hele koden (ingen grund til at gentage de samme linier).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Statistik</title>
<script type="text/javascript">
function vis_link(dato) {
  for(i = 1; i <= 31; i += 1) {
    if(i == dato) {
alert(i + ' ' + dato);
      document.getElementById('link_'+dato).style.display='block';
    }
    else {
      document.getElementById('link_'+i).style.display='none';
    }
  }
}
</script>
</head>
<body>
<p style="margin: 0px;"><a href="../statistik.htm">Statistik</a> | Synsrapporter</p><table><tr><td valign="top" colspan="3"><table><tr><td valign="top" width="19"><a href="../Marts/Marts.htm">[<]</a> </td><td valign="top" width="260" align="center">April 2005</td><td valign="top" width="19"><a href="../Maj/Maj.htm">[>]</a></td></tr></table><table border=1 callpadding=5>

    <td><b>Mandag</b></td>
    <td><b>Tirsdag</b></td>
    <td><b>Onsdag</b></td>
    <td><b>Torsdag</b></td>
    <td><b>Fredag</b></td>
    <td><b>Lørdag</b></td>

    <td><b>Søndag</b></td>
</tr><tr>
    <td><br></td>
    <td><br></td>
    <td><br></td>
    <td><br></td>
    <td>1 &nbsp;&nbsp;</td>
    <td>2 &nbsp;&nbsp;</td>

    <td>3 &nbsp;&nbsp;</td>
</tr><tr>
    <td>4 &nbsp;&nbsp;</td>
    <td>5 &nbsp;&nbsp;</td>
    <td>6 &nbsp;&nbsp;</td>
    <td>7 &nbsp;&nbsp;</td>
    <td>8 &nbsp;&nbsp;</td>

    <td>9 &nbsp;&nbsp;</td>
    <td>10 &nbsp;&nbsp;</td>
</tr><tr>
    <td>11 &nbsp;&nbsp;</td>
    <td><a href="#" onclick="vis_link(12)">12</a></td>
    <td>13 &nbsp;&nbsp;</td>
    <td>14 &nbsp;&nbsp;</td>

    <td>15 &nbsp;&nbsp;</td>
    <td>16 &nbsp;&nbsp;</td>
    <td>17 &nbsp;&nbsp;</td>
</tr><tr>
    <td>18 &nbsp;&nbsp;</td>
    <td>19 &nbsp;&nbsp;</td>
    <td>20 &nbsp;&nbsp;</td>

    <td>21 &nbsp;&nbsp;</td>
    <td>22 &nbsp;&nbsp;</td>
    <td>23 &nbsp;&nbsp;</td>
    <td>24 &nbsp;&nbsp;</td>
</tr><tr>
    <td>25 &nbsp;&nbsp;</td>
    <td>26 &nbsp;&nbsp;</td>

    <td>27 &nbsp;&nbsp;</td>
    <td>28 &nbsp;&nbsp;</td>
    <td>29 &nbsp;&nbsp;</td>
    <td>30 &nbsp;&nbsp;</td>
    <td><br></td>
</tr></table><div id="link_12" style="margin: 0px; display: none;"><p style="margin: 0px;"><a href="synsrapport_72513.htm" target="syns_frame">synsrapport_72513.htm</a></p></div>
</td><td width="750" height="690" valign="top"><iframe name="syns_frame" src="" height="100%" width="100%"></iframe></td></tr></table>
Avatar billede sw_red_6 Nybegynder
12. oktober 2006 - 16:35 #3
kan det være fordi link_1 ikke eksisterer at den ikke fortsætter?
Avatar billede sw_red_6 Nybegynder
12. oktober 2006 - 17:16 #4
ARGH! det var lige nøjagtig derfor!
olebole hvis du ligger et svar så deler vi pointene, hvis det er OK med dig
Avatar billede sw_red_6 Nybegynder
12. oktober 2006 - 17:17 #5
med mindre du kan hjælpe med at lave det på en eller anden smart måde, vil jeg lukke nå du har svaret
Avatar billede roenving Novice
14. oktober 2006 - 15:34 #6
Skal du 'bare' gemme en, der tidligere blev vist ?-)

<script type="text/javascript">
var oldLink;
function vis_link(dato) {
  if(oldLink)
    oldLink.display = "none";
  oldLink = document.getElementById('link_'+dato).style;
  oldLink.display = 'block';
}
</script>
Avatar billede sw_red_6 Nybegynder
16. oktober 2006 - 09:13 #7
Det var lige nøjagtig det jeg ville. Det virker helt efter hensigten, så hvis du ligger et svar roenving så for du pointene
Avatar billede roenving Novice
16. oktober 2006 - 15:49 #8
Velbekomme '-)
Avatar billede roenving Novice
17. oktober 2006 - 17:01 #9
-- og tak for point ;~}
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