Avatar billede incrediboy Nybegynder
31. januar 2005 - 09:53 Der er 8 kommentarer og
1 løsning

Dropdown menu

Haalløj. Hmm det driller for tiden.. :-( Jeg har fundet og lavet en menu hvor den viser to niveauer ned ved tryk på en. Her er det dog den ikke skjuler den første trykkede på hvis man trykker på en anden. Det vil jeg gerne kunne lade sig gøre, da det jo ellers kan blive en frygtelig lang menu.
Det ser således ud:

<script type="text/javascript">
if (!document.getElementById)
    document.getElementById = function() { return null; }

function initializeMenu(menuId, actuatorId) {
    var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);

    if (menu == null || actuator == null) return;

   
    actuator.onclick = function() {
        var display = menu.style.display;
        this.parentNode.style.listStyleImage =
            (display == "block") ? "" : "";
        menu.style.listStyleImage = "";
        menu.style.display = (display == "block") ? "none" : "block";

        return false;
    }
}
</script>
<script type="text/javascript">
    <!--
        window.onload = function() {
            initializeMenu("1Menu", "1Actuator");
            initializeMenu("2Menu", "2Actuator");
            initializeMenu("3Menu", "3Actuator");
            }
    //-->
    </script>

<td class="tdmenu1">
      <div id="mainMenu">
      <ul id="menuList">
        <li class="menubar">
          <a href=""
            id="1Actuator"
            class="actuator"
            accesskey="p">1</a>
          <ul id="1Menu" class="menu">
            <li><a href="../menu11.html">menu1.1</a></li>
            <li><a href="../menu12.html">menu1.2</a></li>
            </ul>
        </li>
        <li class="menubar">
          <a href=""
            id="2Actuator"
            class="actuator"
            accesskey="n">2</a>
          <ul id="2Menu" class="menu">
            <li><a href="../1/menu21.htm">menu2.1</a></li>
            <li><a href="../2/menu22.htm">menu2.2</a></li>
            <li><a href="../3/menu23.htm">menu2.3</a></li>
          </ul>
        </li>

Ideer anyone?
Avatar billede roenving Novice
31. januar 2005 - 10:01 #1
Du skal lige vide, at det ikke er tilladt at bruge et tal som første tegn i et id (selvom det virker i visse browsere !-)
Avatar billede roenving Novice
31. januar 2005 - 10:06 #2
Tilføj en anelse, så den sidst rørte menu kan findes:

<script type="text/javascript">
if (!document.getElementById)
    document.getElementById = function() { return null; }

var oldmenu = null;
function initializeMenu(menuId, actuatorId) {
    var menu = document.getElementById(menuId);
    var actuator = document.getElementById(actuatorId);

    if (menu == null || actuator == null) return;
   
    actuator.onclick = function() {
        if(oldmenu){
            oldmenu.style.listStyleImage = "";
            oldmenu.style.display = 'none';
        }

        var display = menu.style.display;
        this.parentNode.style.listStyleImage =
            (display == "block") ? "" : "";
        menu.style.listStyleImage = "";
        menu.style.display = (display == "block") ? "none" : "block";

        oldmenu = menu;
        return false;
    }
}
        window.onload = function() {
            initializeMenu("Menu1", "Actuator1");
            initializeMenu("Menu2", "Actuator2");
            initializeMenu("Menu3", "Actuator3");
            }
    </script>
Avatar billede incrediboy Nybegynder
31. januar 2005 - 11:49 #3
du kan ikke skrive det ind i min kode så jeg kan copy/paste det hele? Kan ikke få det til at virke nemlig. Tak for hjælpen. igen forresten ;-)
Avatar billede incrediboy Nybegynder
31. januar 2005 - 11:55 #4
hmm nu virker det faktisk. smed bare dit script ind under mit.
<script>mit skript</script>
<script>dit skript</script>

men det virker desværre ikke i firefox.... :-( den viser kun menu3...
Avatar billede roenving Novice
31. januar 2005 - 12:02 #5
Får du ikke nogen fejl ?-)

Prøv at kigge på Funktioner --> Javascript-konsol !-)
Avatar billede incrediboy Nybegynder
31. januar 2005 - 12:04 #6
nej. den viser ingen fejl... Der kommer blot ikke noget når jeg trykker på de to første menuer, men kun den tredje... :-(
Avatar billede incrediboy Nybegynder
31. januar 2005 - 12:08 #7
Fandt "fejlen". Havde referet med lille bogstav til en med stor bogstav. Firefox er altså case sensitiv imodsætning til ie?? :-D

Mange tak for hjælpen. skal have et svar for point igen.. ;-)
Avatar billede roenving Novice
31. januar 2005 - 12:22 #8
Velbekomme '-)
Avatar billede roenving Novice
02. april 2005 - 12:00 #9
Tak for point ;~}

-- og ECMAscript er case-sensitiv i alle implementationer, uanset om de kaldes javascript (de fleste steder) eller Jscript, som i IE !-)
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

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger AI forretningskonsulent i Ballerup

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Tech Lead til Datacenter Operations

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Sektionschef til Enterprise Arkitektur i Forsvaret på Østerbro

Netcompany A/S

Network Engineer