Avatar billede tobias_l Nybegynder
02. april 2008 - 11:16 Der er 5 kommentarer og
1 løsning

Tree menu struktur. Tilføjelse af ekstra niveau

jeg søger en enkelt tilføjelse til nedenstående kode, som giver mig et ekstra niveau i min menu struktur, hvilket jeg umiddelbart ikke selv kan finde ud af.

nedenstående kode er forenklet med tv eksempel.

Jeg ønsker strukturen som følger:

tv
- dr
- tv2
  -tv2
  -charlie
  -zulu

tv2 i nedenstående kode skal altså reagere på samme måde som tv.

Jeg skal nævne at det er til en struktur til en intranetside som vises igennem Lotus-Notes.

Kan dette lade sig gøre med dette JS og i såfald hvordan, eller skal jeg søge andre veje? Håber selvfølgelig på første, da min orginale side er ret så omfattende.

På forhånd tak for hjælpen.

udsnit af kode:

<style>
</style>


<script>
function toggle(e) {
  if (e.style.display == "none") {
document.all.HideShow1.style.display="none";
e.style.display = "";
  } else {
document.all.HideShow1.style.display="none";
e.style.display = "none";
  }
}
</script>

<SCRIPT LANGUAGE="JavaScript">

function makeItVisible(id, event)
{
      document.all[id].style.pixelLeft = (document.body.scrollLeft +
event.clientX) + 60;
      document.all[id].style.pixelTop = (document.body.scrollTop +
event.clientY) - 8;
      document.all[id].style.visibility = "visible";
}
function hideHelp(id, event)
{
      document.all[id].style.visibility = "hidden";
}
</SCRIPT>

<table>

<p class="regular" align="left"><img        src="pil.gif"><a href="#" onclick="toggle(document.all.HideShow1);">
tv</a></p>

<span id=HideShow1 style="display:none">
<p class="submenu" align="left"><img    src="pil.gif"><a href="www.dr.dk">
dr</a><br>
<p class="submenu" align="left"><img    src="/pil.gif"><a href="www.tv2.dk">
tv2</a><br>

</span>
</table>
Avatar billede w13 Novice
02. april 2008 - 11:29 #1
Her er et forenklet eksempel, hvor jeg også har sparet meget af din kode væk:
----------------------------------------------------------
<html>
<body>

<script type="text/javascript">
function toggle(e){
    e=document.getElementById(e);
    e.style.display=e.style.display=="none"?"":"none"
}
</script>

<p class="regular" align="left"><img src="pil.gif"><a href="java script:toggle('menu1');void(0)">
tv</a></p>

<p class="submenu" id="menu1" style="display:none;margin-left:15px">
    <img src="/pil.gif"><a href="www.dr.dk">dr</a><br>
    <img src="/pil.gif"><a href="java script:toggle('menu2');void(0)">tv2</a>

    <p class="submenu" id="menu2" style="display:none;margin-left:30px">
        <img src="/pil.gif"><a href="www.dr.dk">dr</a><br>
        <img src="/pil.gif"><a href="www.tv2.dk">tv2</a>
    </p>
</p>

</body>
</html>
Avatar billede w13 Novice
02. april 2008 - 11:33 #2
Og dér kan du have så mange niveauer, du har lyst til.
Avatar billede tobias_l Nybegynder
02. april 2008 - 14:20 #3
Tusind tak for det hurtige og gode svar.
Dog har jeg lidt problemer, da jeg kun kan få en sådan box til at folde sig ud, hvis den er som det sidste og ikke, hvis der er flere underniveauer der skal kunne foldes ud.
Nedenfor har jeg skrevet lidt videre på din kode, som jeg mener at man bør gøre det, men der er tydligvis noget galt. Gider du hurtigt at kigge på det.

på forhånd mange tak.

<html>
<body>

<script type="text/javascript">
function toggle(e){
    e=document.getElementById(e);
    e.style.display=e.style.display=="none"?"":"none"
}
</script>

<p class="regular" align="left"><img src="pil.gif"><a href="java script:toggle('menu1');void(0)">
menu1</a></p>

<p class="submenu" id="menu1" style="display:none;margin-left:15px">

    <img src="/pil.gif"><a href="java script:toggle('menu3');void(0)">menu1.1</a>

    <p class="submenu" id="menu3" style="display:none;margin-left:30px">
        <img src="/pil.gif"><a href="www.dr.dk">content1</a><br>
        <img src="/pil.gif"><a href="www.tv2.dk">content2</a>
    </p>

    <img src="/pil.gif"><a href="java script:toggle('menu2');void(0)">menu1.2</a>

    <p class="submenu" id="menu2" style="display:none;margin-left:30px">
        <img src="/pil.gif"><a href="www.test.dk">content3</a><br>
        <img src="/pil.gif"><a href="www.tv2.dk">content4</a>
    </p>
   
</p>

</body>
</html>
Avatar billede w13 Novice
02. april 2008 - 15:37 #4
Jeg kunne ikke finde den præcise fejl - af en eller anden grund tror den, at <p>-afsnittet slutter før det i virkeligheden gør... Ved at ændre p til div fungerer det:

<html>
<body>

<script type="text/javascript">
function toggle(e){
    e=document.getElementById(e);
    e.style.display=e.style.display=="none"?"":"none"
}
</script>

<p class="regular"><img src="pil.gif"><a href="java script:toggle('menu1');void(0)">menu1</a></p>

<div class="submenu" id="menu1" style="display:none;margin-left:15px">

    <img src="/pil.gif"><a href="java script:toggle('menu3');void(0)">menu1.1</a><br>

    <p class="submenu" id="menu3" style="display:none;margin-left:30px">
        <img src="/pil.gif"><a href="www.dr.dk">content1</a><br>
        <img src="/pil.gif"><a href="www.tv2.dk">content2</a>
    </p>

    <img src="/pil.gif"><a href="java script:toggle('menu2');void(0)">menu1.2</a>

    <p class="submenu" id="menu2" style="display:none;margin-left:30px">
        <img src="/pil.gif"><a href="www.test.dk">content3</a><br>
        <img src="/pil.gif"><a href="www.tv2.dk">content4</a>
    </p>
 
</div>

</body>
</html>
Avatar billede tobias_l Nybegynder
04. april 2008 - 15:08 #5
Jeg siger mange tak w13. Det var lige hvad jeg kunne bruge. god weekend
Avatar billede w13 Novice
04. april 2008 - 15:58 #6
Og i lige måde. =)
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
Kurser inden for grundlæggende programmering

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