Avatar billede Slettet bruger
23. marts 2004 - 20:51 Der er 14 kommentarer og
1 løsning

HTML-liste som dynamisk dropdown menubjælke med SCC og JawaScript

Prøver at lære lidt menuprogramering, og har disse spørgsmål til nedenstående kode.

1)Foldeudmenu skal forsvinde når musen flyttes væk fra menuen
2)Ændre afstand mellem menupunkter på menubjælken
3)Bruge IMG som baggrund for rollover (onmouseon og onmouseout)
3)Hvordan visis siden hvis brugeren har slået JawaScript fra
4)Kan menuversionen anbefales ?
Avatar billede Slettet bruger
23. marts 2004 - 20:56 #1
Undskyld glemte lige at sætte koden ind:

---------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>Navigationsbjælke med dropdown-menu</title>
<script type="text/javascript">
var currentMenu = null;
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.onmouseover = function() {
        if (currentMenu) {
            currentMenu.style.visibility = "hidden";
            this.showMenu();
        }
    }
 
    actuator.onclick = function() {
        if (currentMenu == null) {
            this.showMenu();
        }
        else {
            currentMenu.style.visibility = "hidden";
            currentMenu = null;
        }

        return false;
    }
    actuator.showMenu = function() {
        menu.style.left = this.offsetLeft + "px";
        menu.style.top = this.offsetTop + this.offsetHeight + "px";
        menu.style.visibility = "visible";
        currentMenu = menu;
    }
}
    window.onload = function() {
        initializeMenu("genereltMenu", "genereltActuator");
        initializeMenu("artiklerMenu", "artiklerActuator");
        initializeMenu("cssMenu", "cssActuator");
        initializeMenu("jsMenu", "jsActuator");
        initializeMenu("navMenu", "navActuator");
        initializeMenu("dhtmlMenu", "dhtmlActuator");
        initializeMenu("searchMenu", "searchActuator");
}
</script>

<style type="text/css" media="screen">
#mainMenu {
    font-family:arial,sans-serif;
    font-size:10px;
    background-color: #1a0099;
    border: 1px solid #1a0099;
    color: #fff;
    margin: 0px;
    margin-top:5px;
    padding: 0px 0px 1px 0px;
    text-align:left;
}
#menuList {
    margin: 0px;
    padding: 0px;
}
#menuList ul {
    margin: 15px;
    padding: 0px;
    text-align:left;
    font-weight:bold;
}

#menuList li {
    display: inline;
    list-style: none;
}
.menubar {
    font-weight:bold;
    border-left:1px solid white;
}
a.actuator {
    background-color: transparent;
    color: #fff;
    font-size: 12px;
    margin: 0px;
    padding: 3px 6px;
    text-decoration: none;
}
a.actuator:hover {
    background-color: white;
    color: #1a0099;
}
.menu {
    color: #1a0099;
    background-color: #fff;
    position: absolute;
    visibility: hidden;
    z-index:9;
}
.menu li a {
    background-color: #1a0099;
    color: #fff;
    display: block;
    font-size: 12px;
    line-height: 1.75em;
    margin: 0px;
    padding: 0px 10px;
    text-decoration: none;
    border:1px solid black;
    border-top:none;

}
.menu li a:visited {
    background-color: #1a0099;
    color: #ccc;
}
.menu li a:hover {
    background-color: white;
    color: #1a0099;
}
#genereltMenu { width: 130px; }
#artiklerMenu { width: 160px; }
#cssMenu { width: 160px; }
#jsMenu { width: 170px; }
#navMenu { width: 180px; }
#farverMenu { width: 160px; }
#dhtmlMenu { width: 160px; }
#searchMenu { width: 130px; }
</style>

</head>
<body>
<div id="mainMenu">
<ul id="menuList">
  <li class="menubar">
    <a href="java script:void(null)" id="genereltActuator" class="actuator">
    Generelt / Servicesider</a>
    <ul id="genereltMenu" class="menu">
      <li><a href="#">Introduktion</a></li>
      <li><a href="#">Nyhedsbrev / arkiv</a></li>
      <li><a href="#">Søg på siderne</a></li>
      <li><a href="#">Site Map</a></li>
      <li><a href="#">Ikast Vejviser</a></li>
      <li><a href="#">Kursusweb</a></li>
      <li><a href="#">Links</a></li>
    </ul>
  </li>
  <li class="menubar">
    <a href="java script:void(null)" id="artiklerActuator" class="actuator">
    Artikler</a>
    <ul id="artiklerMenu" class="menu">
      <li><a href="#">Oversigt</a></li>
      <li><a href="#">Hvad er zip-filer?</a></li>
      <li><a href="#">FTP-upload</a></li>
      <li><a href="#">Vis kildekode</a></li>
      <li><a href="#">HTML-tegnelementer</a></li>
      <li><a href="#">Genbrug af MAP-data</a></li>
      <li><a href="#">Browsersniffing</a></li>
      <li><a href="#">Omdirigering</a></li>
      <li><a href="#">Hvad er en Java Applet?</a></li>
      <li><a href="#">Kodeordsbeskyttelse</a></li>
    </ul>
  </li>
 
  <li class="menubar">
    <a href="java script:void(null)" id="cssActuator" class="actuator">
    CSS (Stylesheets)</a>
    <ul id="cssMenu" class="menu">
      <li><a href="#">Oversigt</a></li>
      <li><a href="#">Se mor, uden tabeller!</a></li>
      <li><a href="#">CSS tekstformatering</a></li>
      <li><a href="#">Formatering af lister</a></li>
      <li><a href="#">CSS-layout af websider</a></li>
      <li><a href="#">CSS-rollover</a></li>
      <li><a href="#">Cursorkontrol</a></li>
      <li><a href="#">Stylesheets til udskrift</a></li>
    </ul>
  </li>
</ul>
</div>



</body>
</html>
Avatar billede olebole Juniormester
23. marts 2004 - 21:35 #2
<ole>

add1. Du lægger hele menuen i z-index:2. Derefter lægger du en transparent gif på 100x100% i z-index:1. På denne gif lægger du en onmouseover-handler, der lukker alle menuer.

add2. Du giver klassen 'menubar' noget margin i siderne.

add3. Du lægger et img-tag i stedet for f.eks: 'Generelt / Servicesider'.

add4. Slå JavaScript fra og prøv.

add5. Da den kun virker tilfredsstillende i IE/Win: Nej

/mvh
</bole>
Avatar billede olebole Juniormester
23. marts 2004 - 21:36 #3
PS: Den transparente gif i 'add1' skal naturligvis være gemt fra start. Når en menu vises, vises giffen også. Når menuen gemmes, gemmes giffen også  :)
Avatar billede Slettet bruger
23. marts 2004 - 23:57 #4
Altså - hvis jeg forstår dig ret. Så skal jeg droppe den type menu. Er det rigtigt opfattet.
Men hvad type sakl jeg så bruge som er alsidig ?
Avatar billede olebole Juniormester
24. marts 2004 - 00:48 #5
Det ved jeg ikke ... personligt ville jeg selv skrive en - men det kan du vel ikke bruge til så meget  :)
Der er sikkert andre, der ved mere om, hvad der ligger af kode-downloads 'derude'  :)
/mvh
Avatar billede hermandsen Juniormester
24. marts 2004 - 23:01 #6
Her er en ren CSS-menu som jeg har lavet!! Ingen JavaScript!!!

Vil nødig skrive "Denne side ses bedst med X-browser", men Internet Explorer fatter hat, sååååh... Mozilla Firefox!! ;)

http://hermandsen.homepage.dk/hermandsen/menu2/

//hermandsen
Avatar billede olebole Juniormester
24. marts 2004 - 23:11 #7
... med andre ord: Komplet ubrugelig i det virkelige liv - men sikkert udmærket i en sød drøm og/eller engang i fremtiden  :)
Avatar billede hermandsen Juniormester
24. marts 2004 - 23:24 #8
>>olebole
Ikke helt ubrugelig!! :)
Den giver et meget godt billede af hvad vi kan med CSS, og hvorfor folk snarest muligt bør få en nyere browser (du burde snart kende min evige kamp mod IE ;) )...

Ideen bag menu'en er god nok... Dog tror jeg aldrig at man ville lave den så ekstrem som jeg har gjort det her, men som sagt, så giver den et godt billede af CSS i praksis og hvor avanceret skidtet egentlig er!! ;)

//hermandsen
Avatar billede olebole Juniormester
25. marts 2004 - 03:59 #9
Jamen, for dælen ... jeg har _aldrig_ været forlovet med IE, men vi er desværre nødt til at kode til den alligevel. Det ville være respektløst overfor vores brugere ikke at gøre det  :)
/mvh
Avatar billede Slettet bruger
25. marts 2004 - 17:57 #10
Havde lige fundet en menu som den her på EKSPERTEN, men nu kan jeg ikke finde den mere, er der een der har links ?
Avatar billede olebole Juniormester
25. marts 2004 - 19:17 #11
Avatar billede Slettet bruger
25. marts 2004 - 21:22 #12
>hermandsen..........Det var ikke lige din version jeg søgte.
Avatar billede hermandsen Juniormester
25. marts 2004 - 21:28 #13
>>ibtage
Det var også bare et tilbud!! ;)
Avatar billede Slettet bruger
08. april 2004 - 19:44 #14
lukket
Avatar billede olebole Juniormester
14. april 2004 - 22:52 #15
Du kunne ikke bruge linket, du efterlyste ...?
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