Avatar billede lopolla123 Nybegynder
08. februar 2006 - 03:04 Der er 12 kommentarer og
2 løsninger

hide/unhide

Jeg sidder og er ved at at en træmenu (som sikkert er lavet tusinde gange før), men men men.....alligevel :-)

Det går mig sådan set meget godt, jeg har dog ét problem og det er at jeg ikke kan hide/unhide flere inde i hinanden.....

hvis jeg gør

<div id="1">
.....html...kode...
</div>

Men gør jeg:

<div id="1">
.....html...kode...

<div id="2">
.....html...kode...
</div>

</div>


Hvis jeg i dette tilfælde forsøger at hide lag-1 (så ville jeg gerne at ALT indenfor blev hide't (dvs. 1+2), men sådan går det mig ikke, så hides kun det ene lag.

Er der nogle, der har nogle gode eksempler på, hvorledes man kan hide/unhide flere lag indeni hinanden?
Avatar billede horsmark Nybegynder
08. februar 2006 - 06:31 #1
<script type="text/javascript">
function showHide(id){
  var div = document.getElementById(id)
  div.style.display = div.style.display == "block" ? "none" : "block"
}
</script>



<div id="mydiv_1">
.....html...kode...

<div id="mydiv_2">
.....html...kode...
</div>

</div>

<a href="#" onClick="showHide('mydiv_1')">test 1</a>
<a href="#" onClick="showHide('mydiv_2')">test 2</a>
Avatar billede roenving Novice
08. februar 2006 - 15:23 #2
-- og jeg kan anbefale, at man spørger negativt, når man skal skjule, så man ikke er nødt til at sætte display i en inline style ...

-- så for eksempel sådan:

<script type="text/javascript">
function showHide(id){
  var st = document.getElementById(id).style;
  st.display = st.display != "block" ? "block" : "none"
}
</script>
Avatar billede horsmark Nybegynder
08. februar 2006 - 15:26 #3
halløjsa roenving hvorfor egentligt det ~ udover det er nemmere gennemskueligt ?
Avatar billede roenving Novice
08. februar 2006 - 15:36 #4
Fordi .style.display er ingenting, medmindre den er sat inline ...

-- og da folk ganske ofte skal bruge denne slags script til at vise/skjule undermenuer, der som udgangspunkt ikke er vist, vrker det negative spørgsmål i alle situationer, også når display er sat via id eller class i et stylesheet !-)
Avatar billede horsmark Nybegynder
08. februar 2006 - 15:40 #5
åhh ja selvfølgeligt... thx
Avatar billede horsmark Nybegynder
08. februar 2006 - 15:41 #6
smid lige et øhh svar så ... nårh nej det er ikke mig der har oprettet spm denne gang ;-)
Avatar billede roenving Novice
08. februar 2006 - 15:42 #7
-- den ses tydeligt med dette eksempel:

<script type="text/javascript">
function showHide(id){
  var st = document.getElementById(id).style;
  st.display = st.display != "block" ? "block" : "none"
}
</script>

<style type="text/css">
.menu{cursor:pointer;/*noget mere styling*/}
.underpunkt{display:none;}
</style>

<div id="over1" class="menu" onclick="showHide('under1')">Første menupunkt
  <div id="under1" class="underpunkt">
    <a href="">Et underpunkt</a><br>
    <a href="">Et andet underpunkt</a><br>
    <a href="">Et tredje underpunkt</a>
  </div>
</div>

<div id="over2" class="menu" onclick="showHide('under2')">Andet menupunkt
  <div id="under2" class="underpunkt">
    <a href="">Et underpunkt</a><br>
    <a href="">Et andet underpunkt</a><br>
    <a href="">Et tredje underpunkt</a>
  </div>
</div>
Avatar billede horsmark Nybegynder
08. februar 2006 - 15:51 #8
yes præcist :-)
Avatar billede lopolla123 Nybegynder
08. februar 2006 - 17:52 #9
Hejsa........ja jeg har altså ikke lige haft tid til at kigge det endnu, men det ser lovende ud :-)
Avatar billede lopolla123 Nybegynder
10. februar 2006 - 19:56 #10
Det fungerer skide godt!
Så hvis du lige lægger et svar horsmark - så er der point :-)

En anden lille ting er, at hvis man gerne vil have den til at huske indstillingerne ved refresh - er der nogle gode tricks til dette - hvis det bliver for kompliceret så opretter jeg bare et nyt spørgsmål ingen problem deri :-)

Jeg kan regne ud, at det er noget med cookies, men hvordan styrer man det egentlig mere præcist?
Avatar billede horsmark Nybegynder
10. februar 2006 - 20:21 #11
hmm jeg mener der er et eller flere spørgsmål herinde hvor der er bygget en huskefunktion til netop dette både uden cookies men kun via js. og med cookies...

Men har dog ikke sådan en i ærmet lige nu :-)
Avatar billede horsmark Nybegynder
10. februar 2006 - 20:21 #12
foriøvrigt stik lige roenving ½ af poijntsne...
Avatar billede roenving Novice
11. februar 2006 - 14:51 #13
-- cookies må nok være den bedste løsning, læsning og skrivning kan f.eks. findes i denne tråd: http://www.uniteit.dk/spm/31#3 !-)
Avatar billede lopolla123 Nybegynder
13. februar 2006 - 13:06 #14
tak for hjælpen.........så skulle den vist væk i orden :-)
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