hallo,
ich habe ein pulldown menu system, wenn die ganze web-site links im browser ausgerichtet ist gibts kein problem mit der positionierung der layer/pulldown-menu's, wenn nun aber die web-site zentriert im browser ausgerichtet ist, muss ich die x-pos der pulldown-menu layers berechnen, im IE ist dies auch ganz einfach mit offsetX zu erreichen, aber im Netscape bzw. Firefox (wahrscheinlich auch Opera) schaffe ich es einfach nicht die x-koordinaten des aufrufenden links zu bestimmen.
habe auch schon im archiv gesucht aber leider nichts gefunden, deshalb habe ich eine "light" version mit vereinfachter funktion hier gepostet (sorry wegen eventuell zu langem post!), vielleicht findet jemand einen weg, bin für jede hilfe dankbar...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
var isover = false;
if (navigator.appName == 'Netscape') {
window.captureEvents(Event.MOUSEOVER);
window.onmouseover=mauspos;
}
function mauspos(e) {
if (navigator.appName == 'Netscape') {
xpos = e.pageX;
}
}
function PopDown()
{
if(!isover) { eval("window.document.all.M1.style.visibility='hidden'"); }
}
function PopUp(p)
{
if(navigator.appVersion.indexOf("MSIE") > 0) {
anfX=window.event.clientX-window.event.offsetX;
eval("window.document.all.M" + p + ".style.left=anfX");
eval("window.document.all.M" + p + ".style.visibility='visible'");
cx=window.event.clientX;
cxoffset=window.event.offsetX;
// alert("MSIE\n\nX-Pos: " + cx + "\nX-Abs: " + cxoffset + "\nPopup: " + anfX);
}
else {
mauspos;
eval("window.document.all.M" + p + ".style.left=xpos");
eval("window.document.all.M" + p + ".style.visibility='visible'");
// alert("NS/MOZ\n\nX-Pos: " + xpos);
}
}
function over()
{
isover = true;
}
function out()
{
isover = false;
setTimeout('PopDown()',2000);
}
</script>
</head>
<body>
<div id="M1" style="z-index:2;left:0px;position:absolute;top:48px;visibility:hidden;" onMouseOver="over()" onMouseOut="out()">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td>Submenu</td></tr></table>
</div>
<div align="center">
<table width="300" border="0" cellspacing="2" cellpadding="2">
<tr>
<td bgcolor="#EEEEEE"><a href="#" onmouseover="PopDown();PopUp('1');over()" onmouseout="out()">Menu1</a></td>
<td bgcolor="#EEEEEE"><a href="#" onmouseover="PopDown();PopUp('1');over()" onmouseout="out()">Menu2</a></td>
<td bgcolor="#EEEEEE"><a href="#" onmouseover="PopDown();PopUp('1');over()" onmouseout="out()">Menu3</a></td>
</tr>
</table>
</div>
</body>
</html>