Tobias: Netscape positioniert ohne mausposition zu berücksichtigen

Beitrag lesen

Hi!
ich bastle grade an einem Menü, bei dem on click auf einen einfachen hyperlink ein submenü darunter erscheinen soll. Habe es von Dynamic Drive. Ist eigentlich keine große Sache, aber es macht mir in Netscape/Mozilla/Firefox echten Ärger...
Netscape baut jedes submenü auf position 0/0 auf, anstatt relativ unter dem Hauptmenüpunkt.
IE macht es jedoch richtig.
bin ziemlich sicher, es liegt an der Art, wie die Position im Javascript gemessen wird.
Hier der teil des codes der index.html:

<script language="JavaScript1.2">

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
themenuStyle.top=ns6||ns4? e.pageY-e.layerY+19 : themenuoffsetY+event.clientY-event.offsetY+20

<!-- KOMMENTAR: Ich denke, daß in den 2 Abschnitten hier drüber das Problem liegt.
-->

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"
}

if (ie4||ns6)
document.onclick=hidemenu

</script>

Wäre echt nett wenn sich mal jemand die Mühe macht mir da auf die Sprünge zu helfen. Bin mit meinen Javascript-Kenntnissen am Ende.
Für mich ist der Code absolut ok... Sehe Fehler einfach nicht!

Vielen Dank für eure Mühe!
Tobias