Avatar billede Six Nybegynder
29. april 2006 - 13:35 Der er 9 kommentarer og
1 løsning

Hide/Show divs.

Hej eksperter.

Jeg skal have en funktion der kan gemme ALLE mine divs på en gang, og derefter vise den man har valgt.

Jeg har tænkt mig at lave 5 forskellige divs med noget indhold. - og så 5 knapper hvor man kan vælge hvilken div man vil have vist.. og jeg havde så forestilt mig at når man trykker på den knap der skal vise div'en vælger at hide alle de divs med et bestemt navn først og så viser den man har valgt.

eller findes der en bedre metode? - jeg er javascriptgrøn så jeg har ingen ide om hvordan man lige skal lave det overhovedet.
Avatar billede mclemens Nybegynder
29. april 2006 - 13:39 #1
Avatar billede Six Nybegynder
29. april 2006 - 13:46 #2
Jeg kan ikke rigtigt få det til at virke..


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
var oldEm = null;
function show(id){
  if(oldElm)
    oldElm.display = "none";
  oldElm = document.getElementById(id).style;
  oldElm.display = "block";
}
</script>
</head>

<body>

<a href="java script:show('layer1')">Page 1</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer2')">Page 2</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer3')">Page 3</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer4')">Page 4</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer5')">Page 5</a>

<DIV ID="layer1">This is div0</DIV>
<DIV ID="layer2">This is div1</DIV>
<DIV ID="layer3">This is div2</DIV>
<DIV ID="layer4">This is div3</DIV>
<DIV ID="layer5">This is div4</DIV>

</body>
</html>
Avatar billede Six Nybegynder
29. april 2006 - 13:48 #3
Jeg havde lige glemt den med oldEm skulle rettes til oldElm - men - den hider ikke alle divs fra starten. - hvordan fikser jeg det ?
Avatar billede mclemens Nybegynder
29. april 2006 - 13:50 #4
Prøv denne:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
var oldElm = null;
function show(id){
  if(oldElm)
    oldElm.display = "none";
  oldElm = document.getElementById(id).style;
  oldElm.display = "block";
}
window.onload=function(){show('layer1');}
</script>
</head>

<body>

<a href="java script:show('layer1')">Page 1</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer2')">Page 2</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer3')">Page 3</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer4')">Page 4</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer5')">Page 5</a>

<DIV ID="layer1">This is div0</DIV>
<DIV ID="layer2" style="display:none;">This is div1</DIV>
<DIV ID="layer3" style="display:none;">This is div2</DIV>
<DIV ID="layer4" style="display:none;">This is div3</DIV>
<DIV ID="layer5" style="display:none;">This is div4</DIV>

</body>
</html>
Avatar billede mclemens Nybegynder
29. april 2006 - 13:52 #5
Du kan også bruge denne... den bruger dog lidt flere ressourcer end ovenstående ... men det er jo browserens resourcer og ikke serverens - fordelen ved denne: Hvis man har javascript deaktiveret kan man se alt indholdet - det kan man ikke i den anden uden javascript...


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
var oldElm = null;
function show(id){
  if(oldElm)
    oldElm.display = "none";
  oldElm = document.getElementById(id).style;
  oldElm.display = "block";
}
window.onload=function(){show('layer5');show('layer4');show('layer3');show('layer2');show('layer1

');}
</script>
</head>

<body>

<a href="java script:show('layer1')">Page 1</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer2')">Page 2</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer3')">Page 3</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer4')">Page 4</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="java script:show('layer5')">Page 5</a>

<DIV ID="layer1">This is div0</DIV>
<DIV ID="layer2">This is div1</DIV>
<DIV ID="layer3">This is div2</DIV>
<DIV ID="layer4">This is div3</DIV>
<DIV ID="layer5">This is div4</DIV>

</body>
</html>
Avatar billede Six Nybegynder
29. april 2006 - 13:52 #6
yep det virker - :D - smider du et svar ?
Avatar billede mclemens Nybegynder
29. april 2006 - 13:53 #7
Hov... Linjerne her skal lige samlet til en linje
window.onload=function(){show('layer5');show('layer4');show('layer3');show('layer2');show('layer1

');
Avatar billede mclemens Nybegynder
29. april 2006 - 13:53 #8
ok :)
Avatar billede Six Nybegynder
29. april 2006 - 13:54 #9
Jeg takker for hjælpen :D - det er helt eminent !
Avatar billede mclemens Nybegynder
29. april 2006 - 14:39 #10
- det var så lidt :)
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