Avatar billede Slettet bruger
01. november 2002 - 12:55 Der er 6 kommentarer og
1 løsning

DropDown - Mouseout?

Jeg har flg. kildekode. Når musen kommer over "om" vises menuen. Klikker man på et punkt forsvinder menuen. Jeg vil gerne have at hvis man kører musen over og ud igen - så forsvinder den. Jeg har forsøgt med "document.body.onMouseOut = hidemenu" - men så forsvinder den også når jeg holder curseren over layeret - det er ikke videre smart :)

(Jeg poster hele koden - da jeg ikke er klar over hvor ændringen skal ligges.)

<--------------CODESNIPPET-------------->
<style>
<!--
.wrap1{
position:relative;
}
.wrap2{
position:absolute;
}
#dropmenu0{
z-index:100;
}
-->
</style>

<script language="JavaScript1.2">
var menu1=new Array()
menu1[0]='<b><a href=om.asp>| Virksomheden</a></b><br>'
menu1[1]='<b><a href=job.asp>| Job</a></b><br>'

var zindex=100
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all
var opr=navigator.userAgent.indexOf("Opera")

function dropit(e,whichone){
curmenuID=ns6? document.getElementById(whichone).id : eval(whichone).id
if (window.themenu&&themenu.id!=curmenuID)
themenuStyle.visibility=ns4?"hide" : "hidden"

themenu=ns6? document.getElementById(whichone): eval(whichone)
themenuStyle=(ns6||ie4)? themenu.style : themenu

themenuoffsetX=(ie4&&opr==-1)? document.body.scrollLeft : 0
themenuoffsetY=(ie4&&opr==-1)? document.body.scrollTop : 0

themenuStyle.left=ns6||ns4? e.pageX-e.layerX : themenuoffsetX+event.clientX-event.offsetX+9
themenuStyle.top=ns6||ns4? e.pageY-e.layerY : themenuoffsetY+event.clientY-event.offsetY+16

hiddenconst=(ns6||ie4)? "hidden" : "hide"
if (themenuStyle.visibility==hiddenconst){
themenuStyle.visibility=(ns6||ie4)? "visible" : "show"
themenuStyle.zIndex=zindex++
}
else
hidemenu()
return false
}

function hidemenu(){
if ((ie4||ns6)&&window.themenu)
themenuStyle.visibility="hidden"
else if (ns4)
themenu.visibility="hide"
}
//document.body.onmouseover=hidemenu
</script>
<ilayer left="-132" top="17" width="94" height="19"> </ilayer>
</strong><br>
<table border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>

    <td width="125" align="center"><strong><font face=Verdana><b><a href="#" onMouseOver="dropit(event, 'dropmenu0');event.cancelBubble=true;return false">Om</a></b></font>
     
      </strong></td>
    <td width="1" bgcolor="gray"></td>
    <td width="140" align="center"><strong><a href="who.asp">Hvem</a></strong></td>
    <td bgcolor="gray" width="1"></td>
    <td width="145" align="center"><strong><a href="why.asp">Hvorfor?</a></strong></td>
    <td bgcolor="gray" width="1"></td>
    <td width="120" align="center"><strong><a href="ordning.asp">Firmaordning</a></strong></td>
    <td bgcolor="gray" width="1"></td>
    <td width="95" align="center"><strong><a href="kontakt.asp">Kontakt</a></strong></td>
  </tr>
</table>

  <div id=dropmenu0 style="position:absolute;left:0;top:0;layer-background-color:B6C4CD;background-color:B6C4CD;width:140;visibility:hidden;border:0px solid black;padding:0px" align="left" style="padding:4px">
    <script language="JavaScript1.2">
if (document.all)
dropmenu0.style.padding="4px"
for (i=0;i<menu1.length;i++)
document.write(menu1[i])
</script>

</div>
  <script language="JavaScript1.2">
if (document.layers){
document.dropmenu0.captureEvents(Event.CLICK)
document.dropmenu0.onclick=hidemenu
}
</script>
<--------------CODESNIPPET-------------->
Avatar billede Slettet bruger
01. november 2002 - 16:00 #1
<div id=dropmenu0 style="position:absolute;left:0;top:0;layer-background-color:B6C4CD;background-color:B6C4CD;width:140;visibility:hidden;border:0px solid black;padding:0px" align="left" style="padding:4px" onMouseOut="dropit(event, this.id);">
Avatar billede Slettet bruger
02. november 2002 - 10:13 #2
Det fungerer ikke. Den rykker bare dd-menuen/layeret hver gang musen kommer "ind" i den...det ser ud som om den fungerer som onMouseOver i stedet for onMouseOut :o(
Avatar billede Slettet bruger
03. november 2002 - 20:49 #3
Du kunne vel ikke smide et link?
Avatar billede Slettet bruger
03. november 2002 - 20:50 #4
Prøv forresten lige at skifte onMouseOut ud med onMouseLeave. Det virker (måske) i IE5.5+.
Avatar billede Slettet bruger
04. november 2002 - 09:45 #5
Link - desværre ikke :o(
Avatar billede Slettet bruger
04. november 2002 - 14:38 #6
Så kan jeg sgu nok ikke hjælpe dig. Du må gøre op med dig selv, om du helst vil vise lidt af din kode og få hjælp eller holde det skjult og problemet uløst. Du kunne evt. smide en lille "demo".
Avatar billede Slettet bruger
05. november 2002 - 12:47 #7
Jeg fik det løst med lidt af en fuskerløsning :o)
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