Avatar billede ellert Nybegynder
21. marts 2004 - 19:12 Der er 15 kommentarer og
1 løsning

Hjælp til Dropdown-menu

Hej!

Jeg har lavet mig en dropdown menu...
Men den virker ikke...

Det, jeg har lavet indtil nu, er:
<script language="JavaScript1.2">
    <!--
        var md=250;
        var ti=-1;
        var hans=null;

        function clearMenu(targetBox) {
            if(hans!=null) {
                if (document.getElementById(targetBox).style.visibility == "visible") {
                    document.getElementById(targetBox).style.visibility="hidden";
                    hans=null;
                }
            }
        }

        function closeAll() {
            document.getElementById('box1').style.visibility="hidden";
            document.getElementById('box2').style.visibility="hidden";
            document.getElementById('box3').style.visibility="hidden";
            document.getElementById('box5').style.visibility="hidden";
        }
        function go(targetBox) {
            clearTimeout(ti);
            if (document.getElementById(targetBox).style.visibility == "hidden") {
                closeAll();
                document.getElementById(targetBox).style.visibility="visible";
                hans=1;
            }
        }
    -->
</script>



og ....


<div id="menu">
    <ul>
        <li class="left"></li>
        <li><a href="#" onMouseOver="go('box1');">
            Klubben</a></li>
        <li><a href="#" onMouseOver="go('box2');">
            Medlem</a></li>
        <li><a href="#" onMouseOver="go('box3');">
            Træning</a></li>
        <li><a href="#">
            Opslagstavlen</a></li>
        <li><a href="#" onMouseOver="go('box5');">
            Aktiviteter</a></li>
        <li class="right"></li>
    </ul>
    <div id="box1" class="submenu" style="left:12px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Hvem er vi?</a></li>
                <li><a href="#">&nbsp;&raquo; Hvor er vi?</a></li>
                <li><a href="#">&nbsp;&raquo; Tilbage til Forsiden&nbsp;</a></li>
            </ul>
        </div>
    </div>
    <div id="box2" class="submenu" style="left:82px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Bliv medlem</a></li>
                <li><a href="#">&nbsp;&raquo; Til nye medlemmer&nbsp;</a></li>
            </ul>
        </div>
    </div>
    <div id="box3" class="submenu" style="left:151px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Træning</a></li>
                <li><a href="#">&nbsp;&raquo; Juniorer</a></li>
                <li><a href="#">&nbsp;&raquo; Børnetræning</a></li>
                <li><a href="#">&nbsp;&raquo; Reservation af baner&nbsp;</a></li>
            </ul>
        </div>
    </div>
    <div id="box5" class="submenu" style="left:338px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Tennislejr</a></span></li>
                <li><a href="#">&nbsp;&raquo; Aktivitetskalender&nbsp;</a></span></li>
            </ul>
        </div>
    </div>
</div>




Problemet er når div'ene skal skjules igen ...
Jeg har prøvet med onmouseout="ti=setTimeout('clearMenu(\'box1\')',md);" på både a, div og ul ...

Nogen der kan hjælpe?

På forhånd tak!!

//MikkelM
Avatar billede mikoalngelo Nybegynder
21. marts 2004 - 19:17 #1
Den virker fint ved mig, med IE6, når jeg satte body på, og sagde onload="closeAll();"

Jeg ved ikke rigtigt, hvad der er galt... Hvilken browser bruger du?

Og desuden, hvis du vil bruge den på en hjemmeside, synes jeg altså, at du enten skal sætte dem i spans, eller også skal give dem stylen float:right eller noget i den retning...
Avatar billede ellert Nybegynder
21. marts 2004 - 19:21 #2
Virker den? Skjuler den også når du fører musen væk?

Hvilke bør jeg sætte i spans?
Avatar billede ellert Nybegynder
21. marts 2004 - 19:22 #3
( Jeg har tjekket i både Firefox og IE6 )
Avatar billede mikoalngelo Nybegynder
21. marts 2004 - 19:29 #4
Ja, i IE6 virker den, også med at skjule alle de forskelle grupper (den ville være mere "udviklervenlig", hvis du gav grupperne rammer).

Grupperne, så de fremkommer på det samme sted.
Avatar billede roenving Novice
21. marts 2004 - 19:31 #5
For det første bør du nok bruge .style.display="none" eller "block" ...

For det andet er det nok ret smart at bede dine li'er om at gøre noget rigtigt, for det ser mærkeligt ud, at du har tomme disks-li'er !-)
Avatar billede ellert Nybegynder
21. marts 2004 - 19:31 #6
Jeg forstår altså ikke... Hvor har du så indsat onMouseOut tingen?
Avatar billede mikoalngelo Nybegynder
21. marts 2004 - 19:33 #7
Se lige her, dette virker for mig:

<script language="JavaScript1.2">
    <!--
        var md=250;
        var ti=-1;
        var hans=null;

        function clearMenu(targetBox) {
            if(hans!=null) {
                if (document.getElementById(targetBox).style.visibility == "visible") {
                    document.getElementById(targetBox).style.visibility="hidden";
                    hans=null;
                }
            }
        }

        function closeAll() {
            document.getElementById('box1').style.visibility="hidden";
            document.getElementById('box2').style.visibility="hidden";
            document.getElementById('box3').style.visibility="hidden";
            document.getElementById('box5').style.visibility="hidden";
        }
        function go(targetBox) {
            clearTimeout(ti);
            if (document.getElementById(targetBox).style.visibility == "hidden") {
                closeAll();
                document.getElementById(targetBox).style.visibility="visible";
                hans=1;
            }
        }
    -->
</script>



og ....

<body onload="closeAll();">
<div id="menu">
    <ul>
        <li class="left"></li>
        <li><a href="#" onMouseOver="go('box1');">
            Klubben</a></li>
        <li><a href="#" onMouseOver="go('box2');">
            Medlem</a></li>
        <li><a href="#" onMouseOver="go('box3');">
            Træning</a></li>
        <li><a href="#">
            Opslagstavlen</a></li>
        <li><a href="#" onMouseOver="go('box5');">
            Aktiviteter</a></li>
        <li class="right"></li>
    </ul>
    <span id="box1" class="submenu" style="left:12px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Hvem er vi?</a></li>
                <li><a href="#">&nbsp;&raquo; Hvor er vi?</a></li>
                <li><a href="#">&nbsp;&raquo; Tilbage til Forsiden&nbsp;</a></li>
            </ul>
        </div>
    </span>
    <span id="box2" class="submenu" style="left:82px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Bliv medlem</a></li>
                <li><a href="#">&nbsp;&raquo; Til nye medlemmer&nbsp;</a></li>
            </ul>
        </div>
    </span>
    <span id="box3" class="submenu" style="left:151px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Træning</a></li>
                <li><a href="#">&nbsp;&raquo; Juniorer</a></li>
                <li><a href="#">&nbsp;&raquo; Børnetræning</a></li>
                <li><a href="#">&nbsp;&raquo; Reservation af baner&nbsp;</a></li>
            </ul>
        </div>
    </span>
    <span id="box5" class="submenu" style="left:338px;">
        <div class="shadow">
            <ul>
                <li><a href="#">&nbsp;&raquo; Tennislejr</a><!-- </span> --></li>
                <li><a href="#">&nbsp;&raquo; Aktivitetskalender&nbsp;</a><!-- </span> --></li>
            </ul>
        </div>
    </span>
</div>
</body>
Avatar billede ellert Nybegynder
21. marts 2004 - 19:38 #8
Miko >> Det er rigtigt nok, at drop'ene forsvinder, hvis man flytter musen fra et pkt til et andet, men hvad nu hvis man fører musen ned over siden i stedet? Så blir span'et hængende...
Avatar billede ellert Nybegynder
21. marts 2004 - 19:39 #9
<script language="JavaScript1.2">
        <!--
            var md=250;
            var ti=-1;
            var hans=null;

            function clearMenu(targetBox) {
                if(hans!=null) {
                    if (document.getElementById(targetBox).style.display == "block") {
                        document.getElementById(targetBox).style.display="none";
                        hans=null;
                    }
                }
            }

            function closeAll() {
                document.getElementById('box1').style.display="none";
                document.getElementById('box2').style.display="none";
                document.getElementById('box3').style.display="none";
                document.getElementById('box5').style.display="none";
            }
            function go(targetBox) {
                clearTimeout(ti);
                if (document.getElementById(targetBox).style.display == "none") {
                    closeAll();
                    document.getElementById(targetBox).style.display="block";
                    hans=1;
                }
            }
        -->
    </script>
</head>
<body onLoad="closeAll();">
    <div id="menu">
        <ul>
            <li class="left"></li>
            <li><a href="#" onMouseOver="go('box1');">
                Klubben</a></li>
            <li><a href="#" onMouseOver="go('box2');">
                Medlem</a></li>
            <li><a href="#" onMouseOver="go('box3');">
                Træning</a></li>
            <li><a href="#">
                Opslagstavlen</a></li>
            <li><a href="#" onMouseOver="go('box5');">
                Aktiviteter</a></li>
            <li class="right"></li>
        </ul>
        <span id="box1" class="submenu" style="left:12px;">
            <div class="shadow">
                <ul>
                    <li><a href="#">&nbsp;&raquo; Hvem er vi?</a></li>
                    <li><a href="#">&nbsp;&raquo; Hvor er vi?</a></li>
                    <li><a href="#">&nbsp;&raquo; Tilbage til Forsiden&nbsp;</a></li>
                </ul>
            </div>
        </span>
        <span id="box2" class="submenu" style="left:82px;">
            <div class="shadow">
                <ul>
                    <li><a href="#">&nbsp;&raquo; Bliv medlem</a></li>
                    <li><a href="#">&nbsp;&raquo; Til nye medlemmer&nbsp;</a></li>
                </ul>
            </div>
        </span>
        <span id="box3" class="submenu" style="left:151px;">
            <div class="shadow">
                <ul>
                    <li><a href="#">&nbsp;&raquo; Træning</a></li>
                    <li><a href="#">&nbsp;&raquo; Juniorer</a></li>
                    <li><a href="#">&nbsp;&raquo; Børnetræning</a></li>
                    <li><a href="#">&nbsp;&raquo; Reservation af baner&nbsp;</a></li>
                </ul>
            </div>
        </span>
        <span id="box5" class="submenu" style="left:338px;">
            <div class="shadow">
                <ul>
                    <li><a href="#">&nbsp;&raquo; Tennislejr</a></li>
                    <li><a href="#">&nbsp;&raquo; Aktivitetskalender&nbsp;</a></li>
                </ul>
            </div>
        </span>
    </div>
Avatar billede ellert Nybegynder
21. marts 2004 - 19:41 #10
Roen >> Tomme disks li'er?
Avatar billede roenving Novice
21. marts 2004 - 19:42 #11
liste-tegnet hedder en disk (det kan faktisk indstilles til noget andet via css !-)
Avatar billede ellert Nybegynder
21. marts 2004 - 19:43 #12
Det ved jeg :) Jeg har ændret det til none :P
Avatar billede ellert Nybegynder
21. marts 2004 - 20:03 #13
Any suggestions?
Avatar billede mikoalngelo Nybegynder
21. marts 2004 - 20:30 #14
Jeg er stået af...
Avatar billede ellert Nybegynder
21. marts 2004 - 20:51 #15
:/
Avatar billede ellert Nybegynder
21. marts 2004 - 22:41 #16
hehe, jeg er igen startet forfra ...
Det her er guld værd: http://www.alistapart.com/articles/dropdowns/
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