Avatar billede supremebot Nybegynder
02. februar 2004 - 13:01 Der er 10 kommentarer

uvidenhed (getelementbyid)

er det en der kan forklare mig hvorfor det her ikke virker og hvad løsningen er?

ps hvis html'en stå lidt sjovt er det fordeiden er generet i en rekursiv function i PHP.

<html>
<head>
<title>test side</title>
<link href="web.css" rel="stylesheet" type="text/css">
<script>
function showall(){
    for(i=0; i < divider.length; i++){
        div = document.getElementByID(divider[i]);
        //div = document.all.divider[i]);
        div.style.display = inline;
    }
}
</script>
</head>
<body>
<div style="text-align:right ">
<a href="aaben.php?id=42" target="indexFrame" onclick="hideshow('menu_1')">Om skolen</a><img src="web/bullets.gif" >
<br><div id="menu_1" style="display:inline"><a href="aaben.php?id=40" target="indexFrame">Links</a><img src="web/bullets.gif" >
&nbsp;<br>
<a href="aaben.php?id=43" target="indexFrame">Historien</a><img src="web/bullets.gif" >
&nbsp;<br>
</div>
<a href="aaben.php?id=50" target="indexFrame">lam</a><img src="web/bullets.gif" >
<br>
<a href="aaben.php?id=45" target="indexFrame" onclick="hideshow('menu_3')">Hjælper og bruger</a><img src="web/bullets.gif" >
<br><div id="menu_3" style="display:inline"><a href="aaben.php?id=34" target="indexFrame">Tidligere</a><img src="web/bullets.gif" >
&nbsp;<br>
<a href="aaben.php?id=46" target="indexFrame">ansøgning</a><img src="web/bullets.gif" >
&nbsp;<br>
</div>
<a href="#">Test link</a><img src="web/bullets.gif" >
<br>
<a href="#">Endnu en test</a><img src="web/bullets.gif" >
<br>
<a href="#">Spilme een mer</a><img src="web/bullets.gif" >
<br>
<a href="#">test</a><img src="web/bullets.gif" >
<br>
<a href="aaben.php?id=55" target="indexFrame" onclick="hideshow('menu_8')">test2</a><img src="web/bullets.gif" >
<br><div id="menu_8" style="display:inline"><a href="aaben.php?id=56" target="indexFrame" onclick="hideshow('menu_8_1')">test3</a><img src="web/bullets.gif" >
&nbsp;<br><div id="menu_8_1" style="display:inline"><a href="aaben.php?id=57" target="indexFrame">test_9</a><img src="web/bullets.gif" >
&nbsp;&nbsp;<br>
</div>
<a href="aaben.php?id=54" target="indexFrame">test2_1</a><img src="web/bullets.gif" >
&nbsp;<br>
</div>
<script>
var divider = new Array("menu_1", "menu_3", "menu_8", "menu_8_1"
);
</script></div>
<br>
<br>
<br>
<br>
<br>
<span onClick="showall();" style="cursor:hand ">skjul alle</span>
</body>
</html>
Avatar billede nute Nybegynder
02. februar 2004 - 13:15 #1
metoden hedder 'getElementById' ... ikke 'getElementByID'

/nute
Avatar billede nute Nybegynder
02. februar 2004 - 13:16 #2
Dessuden er 'inline' en streng, ikke en variabel, så denne linje:

div.style.display = inline;

skal være:

div.style.display = 'inline';

/nute
Avatar billede supremebot Nybegynder
02. februar 2004 - 13:18 #3
ak ak ak jeg hade tryk fejl
Avatar billede supremebot Nybegynder
02. februar 2004 - 13:19 #4
ja det har jeg set
Avatar billede pelkjaer Nybegynder
02. februar 2004 - 13:22 #5
Evt. sådan istedet:

var divArr, divider = new Array("menu_1", "menu_3", "menu_8", "menu_8_1");

function showall() {
  for(i=0; i<divider.length; i++) {
    divArr = divider[i];
    document.getElementById(divArr).style.display = "inline";
  }
}

function hideall() {
  for(i=0; i<divider.length; i++) {
    divArr = divider[i];
    document.getElementById(divArr).style.display = "none";
  }
}

*har også flyttet dit array*
Avatar billede pelkjaer Nybegynder
02. februar 2004 - 13:29 #6
endnu nemmere

var divArr, divider = new Array("menu_1", "menu_3", "menu_8", "menu_8_1");

function showWhat(w) {
  for (i=0; i<divider.length; i++) {
    divArr = divider[i];
    if (w == "show") {
      document.getElementById(divArr).style.display = "inline";
    } else if (w == "hide") {
      document.getElementById(divArr).style.display = "none";
    }
  }
}

<span onClick="showWhat('show');" style="cursor:hand ">vis alle</span><br>
<span onClick="showWhat('hide');" style="cursor:hand ">skjul alle</span>
Avatar billede supremebot Nybegynder
02. februar 2004 - 13:40 #7
jeg kan ikke flytte arrey'et for for jeg bliver nød til at generere det i php og arrayet bliver lavet samtidig med at jeg udeskriver menu i html derfor kan jeg kun smide den ind efter menuen
Avatar billede pelkjaer Nybegynder
02. februar 2004 - 13:45 #8
Det betyder heller ikke noget vil jeg mene - har du prøvet?
Avatar billede supremebot Nybegynder
02. februar 2004 - 13:48 #9
det virker fint men den funkiton skal bare skjule det hele.
Avatar billede pelkjaer Nybegynder
02. februar 2004 - 13:49 #10
Nå okay - så bare ikke således ud med navnet "showall()" :o)

Så blot

function hideAll() {
  for (i=0; i<divider.length; i++) {
    divArr = divider[i];
    document.getElementById(divArr).style.display = "none";
  }
}
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