Avatar billede gf Nybegynder
15. juli 2005 - 19:50 Der er 5 kommentarer og
1 løsning

Drop down menu og selectboxe "driller"

Hej jeg anvender følgende dropdown menu, det hele fungerer fint bortset fra at dropdown "DIV'erne" gemmer sig bagved selectboxe i mine forme. Er der mon nogen der har en løsning på dette problem?

menu og css er herunder

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Nyt dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<!--
Drop down menu by Jimmy Thomsen - http://www.powerzone.dk
Copyright Jimmy Thomsen - do not remove this note.
-->

<script type="text/javascript">
function showmenu(elmnt, obj) {
  document.getElementById(elmnt).style.visibility="visible";
}

function hidemenu(elmnt) {
  document.getElementById(elmnt).style.visibility="hidden";
}
</script>

<div class="topmenu">
  <div class="menuitemcontainer" onmouseover="showmenu('boern', this)" onmouseout="hidemenu('boern')">
    <a class="menuitemlink" href="#">overskrift1</a>
    <div class="submenu" id="boern" onmouseover="showmenu('forside')" onmouseout="hidemenu('forside')">
      <a href="#" class="submenu">1</a>
      <a href="#" class="submenu">2</a>
      <a href="#" class="submenu">3</a>
    </div>
  </div>
  <div class="menuitemcontainer" onmouseover="showmenu('morogfar', this)" onmouseout="hidemenu('morogfar')">
    <a class="menuitemlink" href="#">overskrift 2</a>
    <div class="submenu" id="morogfar" onmouseover="showmenu('info')" onmouseout="hidemenu('info')">
      <a href="#" class="submenu">1</a>
      <a href="#" class="submenu">2</a>
    </div>
  </div>
  <div class="menuitemcontainer">
    <a class="menuitemlink" href="#">uden sub</a>
  </div>
  <div class="menuitemcontainer" onmouseover="showmenu('stillinger')" onmouseout="hidemenu('stillinger')">
    <a class="menuitemlink" href="#">overskrift 3</a>
    <div class="submenu" id="stillinger" onmouseover="showmenu('kontakt')" onmouseout="hidemenu('kontakt')">
      <a href="#" class="submenu">1</a>
      <a href="#" class="submenu">1</a>
      <a href="#" class="submenu">1</a>
    </div>
  </div>
</div>
<br>
Tekst tekst tekst tekst tekst Tekst tekst tekst tekst tekst Tekst tekst tekst tekst tekst
</body>
</html>

Placer dette i style.css

body {
  font-family: Verdana, Arial;
  font-size: 11px;
  color: #000000;
}

div.topmenu {
  border: 0px solid #808080;
  width: 750px;
  height: 21px;
  /*background: url(../images/menu.jpeg) repeat-x;*/
  background-color: #5A6994;
}

div.menuitemcontainer {
  float: left;
}

a.menuitemlink {
  padding-top: 3px;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-left: 5px;
  color: #FFFFFF;
  text-decoration: none;
  display: block;
}

a.menuitemlink:hover {
  /*background: url(../images/menuhover.jpeg) repeat-x;*/
  background-color: #E79114;
}

div.submenu {
  width: 150px;
  position: absolute;
  z-index: 1;
  visibility: hidden;
  border: 1px solid #808080;
  background-color: #5A6994;
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=90);
  -moz-opacity: 0.90;
  opacity: 0.90;
}

a.submenu {
  width: 135px;
  padding: 2px 10px 3px 5px;
  color: #FFFFFF;
  text-decoration: none;
  display: block;
}

a.submenu:hover {
  width: 135px;
  /*background: url(../images/menuhover.jpeg) repeat-x;*/
  background-color: #E79114;
}


mvh gf
Avatar billede olebole Juniormester
15. juli 2005 - 20:03 #1
<ole>

Nej, det select-elementer befinder sig på et z-niveau for sig selv. Du kan ikke få lag til at ligge ovenpå en select.
Jeg har engang set et forsøg, der vel nærmest må betegnes som en joke (men var vist ment ganske seriøst!). Den gik ud på at bruge iframes i stedet for divs - men resulterede i en komplet tåbelig og laaaaaang kode  :)

Ellers er eneste løsning at gemme alle selects, mens menuen vises

/mvh
</bole>
Avatar billede olebole Juniormester
15. juli 2005 - 20:05 #2
- det sidste er f.eks, hvad man gør her på Eksperten  :)
Avatar billede gf Nybegynder
15. juli 2005 - 20:11 #3
Hej ole

ok, kan du give mig et hint til hvordan man gemmer selects når menuen vises?

mvh gf
Avatar billede olebole Juniormester
15. juli 2005 - 21:13 #4
Det kunne vel gøres sådan:

function hideAllSelects() {
    aSel = document.getElementsByTagName("select");
    for (var i=0; i<aSel.length; i++) {
        aSel[i].style.visibility = "hidden";
    }
}

function showAllSelects() {
    aSel = document.getElementsByTagName("select");
    for (var i=0; i<aSel.length; i++) {
        aSel[i].style.visibility = "visible";
    }
}

- og du kunne også bygge dem sammen i én funktion, som du fodrer med et argument, der så afgør, om dine selects skal vises eller gemmes.

Funktionerne kaldes der, hvor du henholdsvis viser og gemmer din menu
Avatar billede gf Nybegynder
16. juli 2005 - 10:30 #5
Hej Ole

1000 tak for hjælpen, det var det der skulle til.

læg gerne et svar

mvh gf
Avatar billede olebole Juniormester
16. juli 2005 - 17:27 #6
Selvtak  :)
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