Avatar billede kurdo Novice
01. oktober 2007 - 16:15 Der er 10 kommentarer og
1 løsning

vis links skjul links

hej hvordan kan jeg gøre så hvis jeg fx trykker på linken mad så kommer der under links som fx pizza, pasta og sådan noget, uden at det sletter de andre links jeg har på menuen men bare rykker dem ned?.... det er noget med onclick show
Avatar billede hells Nybegynder
01. oktober 2007 - 16:35 #1
function foldud(elm){
  var ancarr = elm.parentNode.getElementsByTagName("a");
  for(i=0;i<ancarr.length;i++){
    if(ancarr[i].style.display=="none")
      ancarr[i].style.display = "inline";
    else
      ancarr[i].style.display = "none";
  }
}

<ul>
<li><span onclick="foldud(this)">Mad</span><br />
<a href="">pizza</a>
<a href="">pasta</a>
</li>
</ul>

Dette kan selvfølgelig varieres efter hvilket udseende, du gerne vil have, at din liste får.
Avatar billede w13 Novice
01. oktober 2007 - 21:32 #2
Eller kortere:
---------------------------------------
<script type="text/javascript">
function foldud(elm){
  var ancarr=elm.parentNode.getElementsByTagName("a");
  for(i=0;i<ancarr.length;i++)ancarr[i].style.display=ancarr[i].style.display=="none"?"inline":"none";
}
</script>

<ul>
<li><span onclick="foldud(this)">Mad</span><br />
<a href="">pizza</a>
<a href="">pasta</a>
</li>
</ul>
---------------------------------------
Det kan også gøres ved at definere et id på det, som skal skjules/vises:
---------------------------------------
<script type="text/javascript">
function ToggleShow(elm){
  elm=document.getElementById(elm);
  elm.style.display=elm.style.display=="none"?"inline":"none"
}
</script>

<ul>
<li>
  <span onclick="ToggleShow('mad')">Mad</span>
  <div id="mad">
    <a href="">pizza</a><br>
    <a href="">pasta</a>
  </div>
</li>
<li>
  <span onclick="ToggleShow('drikkevarer')">Drikkevarer</span>
  <div id="drikkevarer">
    <a href="">øl</a><br>
    <a href="">vin</a>
  </div>
</li>
</ul>
Avatar billede kurdo Novice
02. oktober 2007 - 14:59 #3
når jeg sætter det ind starte den med at vise mad pizza og sådan, istedet den gør det efter man har trykket?
Avatar billede w13 Novice
02. oktober 2007 - 15:26 #4
Ja. Det skal jo lige skjules først.
Bare smid en style="display:none" på det, der skal skjules.
--------------------------------------
<script type="text/javascript">
function ToggleShow(elm){
  elm=document.getElementById(elm);
  elm.style.display=elm.style.display=="none"?"inline":"none"
}
</script>

<ul>
<li>
  <span style="display:none" onclick="ToggleShow('mad')">Mad</span>
  <div id="mad">
    <a href="">pizza</a><br>
    <a href="">pasta</a>
  </div>
</li>
<li>
  <span style="display:none" onclick="ToggleShow('drikkevarer')">Drikkevarer</span>
  <div id="drikkevarer">
    <a href="">øl</a><br>
    <a href="">vin</a>
  </div>
</li>
</ul>
Avatar billede kurdo Novice
02. oktober 2007 - 15:51 #5
når jeg sætter det nye ind viser den stadig dem under, og fx mad forsvinder så man ikke kan gøre noget....nu virker det overhovdet ik ....? kan ik lige afprøve det
Avatar billede hells Nybegynder
02. oktober 2007 - 15:53 #6
Ja, det er så kun linkene, der skal have display: none;
<li>
  <span onclick="ToggleShow('mad')">Mad</span>
  <div style="display:none" id="mad">
    <a href="">pizza</a><br>
    <a href="">pasta</a>
  </div>
</li>
Avatar billede kurdo Novice
02. oktober 2007 - 16:05 #7
tak hells :)
Avatar billede kurdo Novice
02. oktober 2007 - 16:08 #8
hvordan giver man point?
Avatar billede kurdo Novice
02. oktober 2007 - 16:08 #9
sig de og du for dem i morgen
Avatar billede hells Nybegynder
02. oktober 2007 - 18:22 #10
de?
Avatar billede w13 Novice
02. oktober 2007 - 19:08 #11
Ja, det skulle self. på div og ikke på span.
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