Avatar billede scifo Nybegynder
22. april 2007 - 17:25 Der er 1 løsning

Tilretning af menu

Hej Eksperter.

jeg har flg. kode:

<div id="menu">
<!-- her indsættes menuen -->
</div>

</body>

<script language="javascript" type="text/javascript">

menuer = new Array();
menuTitler = new Array();

function nytPunkt(menu, indhold) {
  menuer[menu][menuer[menu].length] = indhold;
}

function nyMenu(id, indhold) {
  menuer[id] = new Array(); // lav plads til menuens indhold
  menuTitler[id] = indhold;
}

function lavPunkt (menuid) {
  return  '<img src="lukket.gif" id="' + menuid + 'ikon" />' +  menuTitler[menuid];
}

function vis() {
  kode = '';

  for (i = 0; i < menuer.length; i++) {
    kode += '<div class="menu" id="' + i + '" onclick="openMenu()">';
    kode += lavPunkt(i);
    kode += '</div>';
  }

  element = document.getElementById("menu");
  element.innerHTML = kode;
}

function openMenu() {
  element = window.event.srcElement;
  id = parseInt(element.id);

  // Find tekstelementet
  element = document.getElementById(id);

  // Luk menuen ved næste klik
  element.onclick=closeMenu;

  // Opdater indholdet af tekstelementet, så menuens indhold vises
  indhold = menuer[id];
  kode = element.innerHTML + '<br/>';

  for (i = 0; i < indhold.length; i++) {
    kode += '&nbsp;&nbsp;<img src="pic2.gif" />';
    kode += indhold[i] + "<br/>";
  }

  element.innerHTML = kode;

  // Find ikon
  ikon = document.getElementById(id + 'ikon');

  // Skift ikon
  ikon.src = 'åben.gif';

}

function closeMenu() {
  element = window.event.srcElement;

  // er der trykket på en henvisning?
  if (element.tagName == 'A') {
    return; // så skal vi ikke gøre noget
  }

  id = parseInt(element.id);

  // Find tekstelementet
  element = document.getElementById(id);

  // Erstat indholdet med den lukkede menu
  element.innerHTML=lavPunkt(id);

  // Åbn menuen ved næste klik
  element.onclick = openMenu;
}

</script>

<script language="javascript" type="text/javascript">

nyMenu(0, 'Hovedpunkt1');
nyMenu(1, 'Hovedpunkt2');

nytPunkt(0, '<a href="http://www.test.dk">Underpunkt1</a>');
nytPunkt(0, '<a href="http://www.test.dk">Underpunkt2</a>');

vis();

</script>



Og skal have menuen til at se sådan ud:

[Pic1] Hovedpunkt1
  [Pic2] Underpunkt1
  [Pic2] Underpunkt2
[Pic2] Hovedpunkt2

Altså det billede der vises før et underpunkt, skal være det der bliver vist foran nogle af hovedpunkterne, nemlig dem der ikke har nogle underpunkter.

Hvordan gør jeg det?

Med Venlig Hilsen
Scifo
Avatar billede scifo Nybegynder
26. april 2007 - 03:10 #1
Opretter denne på ny, og håber på noget mere respons.
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

IT-JOB

Nextway Software A/S

Software Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Netværkstekniker til Forsvarets Cyberdivision i Hvidovre – Er det dig?

Netcompany A/S

Test Consultant

Djurslands Bank

IT-udvikler