Avatar billede dcheng Novice
31. januar 2007 - 19:40 Der er 6 kommentarer og
1 løsning

Få denne drop down menu til at forsvinde efter 2 sekunder.

Hej jeg har en drop down menu her, jeg vil gerne have at når man fjerner musen fra menuen at den så forsvinder efter 1 sekundt.

Her er hoderne:

----------- xhtml --------
<dl>
<dt onmouseover="java script:montre('smenu1');">
  <a href="">Hovedmenu</a>
</dt>
<dd id="smenu1">
  <ul>
  <li><a href="#">Undermenu 1</a></li>
  <li><a href="#">Undermenu 2</a></li>
  <li><a href="#">Undermenu 3</a></li>
  </ul>
</dd>
</dl>
-------------------------

-------- javascript ---------
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
        if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    }
if (d) {d.style.display='block';}
}
//-->
----------------------------

---------- CSS ------------
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}
#menu {
position: absolute;
text-align: center;
top: 10px;
z-index:100;
width: 100%;
}
#menu dl {
float: left;
width: 100px;
}
#menu dt {
cursor: pointer;
background: white;
border: 1px solid gray;
}
#menu dd {
position: relative;
border: 1px solid gray;
}
#menu li {
text-align: center;
background: white;
width: 98px;
}
#menu li a, #menu dt a {
color: black;
text-decoration: none;
display: block;
height: 100%;
}
#menu li a:hover, #menu dt a:hover {
background: #eeeeee;
}
-------------------------
Avatar billede roenving Novice
01. februar 2007 - 14:28 #1
F.eks.

function montre(id) {
var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
        if (document.getElementById('smenu'+i)) {
          document.getElementById('smenu'+i).style.display='none';
          document.getElementById('smenu'+i).onmouseout = function(){setTimeout("this.style.display='none'",1000)}
        }
    }
if (d) {d.style.display='block';}
}
Avatar billede dcheng Novice
01. februar 2007 - 20:33 #2
Hej den mælger følgende: Error 'this.style' is null or not an object

Jeg har glemt at skrive jeg ved nada om javascript.
Avatar billede roenving Novice
01. februar 2007 - 23:34 #3
-- ja, jeg glemte jo, at this har mistet betydningen, når den kommer til udføringstidspunktet, så vi skal lige kaste en variabel ind, prøv:

function montre(id) {
var d = document.getElementById(id);
    for (var i = 1; i<=10; i++) {
        if (document.getElementById('smenu'+i)) {
          document.getElementById('smenu'+i).style.display='none';
          document.getElementById('smenu'+i).onmouseout = function(){me=this; setTimeout("me.style.display='none'",1000)}
        }
    }
if (d) {d.style.display='block';}
}
Avatar billede dcheng Novice
02. februar 2007 - 15:39 #4
Hmm hehe det virker, MEN problemet er nu at hvis man flytter musen fra hovedmenuen til en af undermenuerne så forsvinder den lige meget hvad efter 1 sekundt.

og

Hvis man flytter musen fra en af hovedmenuerne ud til noget frit så bliver undermenuen hængende.

Håber ikke det er for besværligt. Men jeg har bare ikke energi til at sætte mig ind i JS
Avatar billede roenving Novice
03. februar 2007 - 12:50 #5
-- jeg har ikke svært ved at forstå, at du ikke tænker i, at investere kræfter i js, men øeh, du har jo kastet dig rundt i dette længe, så måske det kunne være en god ide, at du fik en god fornemmelse af, hvad du kunne gøre med javascript ?-)
Avatar billede dcheng Novice
03. februar 2007 - 14:18 #6
Avvv! Jeg har skam materiale til at begynde, men jeg er på nogle intensive kurser fortiden, og vil gerne have en side op at køre inden længe. Det er så derfor jeg beder om hjælp herinde.

Please, kan du ikke få den sidste del til at virke?
Avatar billede dcheng Novice
05. februar 2007 - 23:24 #7
lukker
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