31. august 2004 - 14:09
Der er
7 kommentarer
absolut position afhængig af musens position!
Er det muligt.
har en menu i venstre side, når man laver mouseover vises undermenu for den givne menu. Jeg vil gerne have at undermenuen vises lige til højre for det menupunkt man laver mouseover på!
Her kalder jeg menuen.
strOutput=strOutput & "<tr><td id=" & name & "field" & x & strTmpwidth & strMenuheight & " onmouseout=""return hidemenu(" & strFieldref & name & "field" & x & ", " & strFieldref & name & "menu" & x & ");"">"
strOutput=strOutput & "<span onmouseover="" if (document.readyState=='complete') {return showmenu(" & strFieldref & name & ", " & strFieldref & name & "field" & x & ", " & strFieldref & name & "menu" & x & ");}"" style=""cursor:hand"" class=""menusub"">"
strOutput=strOutput & strRef & strTmptext & strRefEnd & "</span></td></tr>"
og her er scriptet.
<SCRIPT>
function showmenu(tmptable, tmpfield, tmpmenu) { var intPosY=0, intPosX=0, intTabletop, intTableleft; var currentelem=tmpfield; while (true) { intPosX=intPosX+currentelem.offsetLeft; intPosY=intPosY+currentelem.offsetTop; if (currentelem.offsetParent.tagName=='BODY') { break; } else { currentelem=currentelem.offsetParent;}} intPosY=intPosY+tmptable.offsetHeight; tmpmenu.style.top=intPosY; tmpmenu.style.left=intPosX; tmpmenu.style.visibility='visible';}"
function hidemenu(tmpfield, tmpmenu) { var tmpelem=event.toElement; var inmenu=tmpmenu.contains(tmpelem); var infield=tmpfield.contains(tmpelem); if (!inmenu && !infield) { tmpmenu.style.visibility='hidden';}}"
</SCRIPT>
/kledal
31. august 2004 - 15:06
#2
desværre ikke, det ligger kun lokalt.
Jeg skal blot have defineret min intPosY parameter til at være "musens position +2pixels" eller noget sådant. Er der ikke en funtion der gør det i javascript?
/kledal
31. august 2004 - 15:24
#4
Det vil jeg da :-)
<html>
<head>
<meta NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</head>
<body BGCOLOR="#657BA5">
<link REL="stylesheet" TYPE="text/css" HREF="styles.css" TITLE="styles">
<table><tr><td><table width=100% cellpadding=5 cellspacing=0 border=0><tr></tr></tr></tr></tr></tr></tr></tr></tr><table width=150 border=0 cellspacing=1 cellpadding=4 id=menupmf><tr><td id=menupmffield1 width= onmouseout="return hidemenu(document.all.menupmffield1, document.all.menupmfmenu1);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield1, document.all.menupmfmenu1);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=437">Uddannelse</a></base></span></td></tr><tr><td id=menupmffield2 width= onmouseout="return hidemenu(document.all.menupmffield2, document.all.menupmfmenu2);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield2, document.all.menupmfmenu2);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=438">Arbejdsmarked</a></base></span></td></tr><tr><td id=menupmffield3 width= onmouseout="return hidemenu(document.all.menupmffield3, document.all.menupmfmenu3);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield3, document.all.menupmfmenu3);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=439">Løn & ansættelse</a></base></span></td></tr><tr><td id=menupmffield4 width= onmouseout="return hidemenu(document.all.menupmffield4, document.all.menupmfmenu4);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield4, document.all.menupmfmenu4);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=440">TR-arbejdet</a></base></span></td></tr><tr><td id=menupmffield5 width= onmouseout="return hidemenu(document.all.menupmffield5, document.all.menupmfmenu5);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield5, document.all.menupmfmenu5);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=441">Hvervning</a></base></span></td></tr><tr><td id=menupmffield6 width= onmouseout="return hidemenu(document.all.menupmffield6, document.all.menupmfmenu6);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield6, document.all.menupmfmenu6);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=442">Børn og voksnes forhold</a></base></span></td></tr><tr><td id=menupmffield7 width= onmouseout="return hidemenu(document.all.menupmffield7, document.all.menupmfmenu7);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield7, document.all.menupmfmenu7);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=443">Diverse</a></base></span></td></tr><tr><td id=menupmffield8 width= onmouseout="return hidemenu(document.all.menupmffield8, document.all.menupmfmenu8);"><span onmouseover=" if (document.readyState=='complete') {return showmenu(document.all.menupmf, document.all.menupmffield8, document.all.menupmfmenu8);}" style="cursor:hand" class="menusub"><base target="MainFrame"><a href="/catalog.asp?comp=pmf&userpoolid=59&formatgroup=1&subpage=1&categoryid=444">Nyhedsbrev</a></base></span></td></tr></tr></table><table id=menupmfmenu1 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield1, document.all.menupmfmenu1);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81138">Elevlandsklubben</a></td></tr></table><table id=menupmfmenu2 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield2, document.all.menupmfmenu2);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="../../framecomp/group.asp?d=0&groupid=81134">Arbejdsmarkedspolitik</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81133">PMF A nyt</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81131">test</a></td></tr></table><table id=menupmfmenu3 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield3, document.all.menupmfmenu3);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81132">Arbejdsmiljø</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81137">Overenskomst orientering</a></td></tr></table><table id=menupmfmenu4 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield4, document.all.menupmfmenu4);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81141">test</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81135">TR Nyt</a></td></tr></table><table id=menupmfmenu5 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield5, document.all.menupmfmenu5);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81136">Medlemsstatistik</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81141">test</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81131">test</a></td></tr></table><table id=menupmfmenu6 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield6, document.all.menupmfmenu6);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81132">Arbejdsmiljø</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81141">test</a></td></tr></table><table id=menupmfmenu7 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield7, document.all.menupmfmenu7);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81139">EDB information</a></td></tr></table><table id=menupmfmenu8 cellpadding=0 cellspacing=0 border=0 onmouseout="return hidemenu(document.all.menupmffield8, document.all.menupmfmenu8);" style="position:absolute; left:0; top:0; visibility: hidden; z-index:3" class="menusub"><tr><td><a href="/group.asp?d=0&groupid=81133">PMF A nyt</a></td></tr><tr><td><a href="/group.asp?d=0&groupid=81141">test</a></td></tr><tr><td><a href="../../framecomp/group.asp?d=0&groupid=81135">TR Nyt</a></td></tr></table><SCRIPT> function showmenu(tmptable, tmpfield, tmpmenu) { var intPosY=0, intPosX=20, intTabletop, intTableleft; var currentelem=tmpfield; while (true) { intPosX=intPosX+currentelem.offsetLeft; intPosY=intPosY+currentelem.offsetTop; if (currentelem.offsetParent.tagName=='BODY') { break; } else { currentelem=currentelem.offsetParent;}} intPosY=intPosY+tmptable.offsetHeight; tmpmenu.style.top=intPosY; tmpmenu.style.left=intPosX; tmpmenu.style.visibility='visible';} function hidemenu(tmpfield, tmpmenu) { var tmpelem=event.toElement; var inmenu=tmpmenu.contains(tmpelem); var infield=tmpfield.contains(tmpelem); if (!inmenu && !infield) { tmpmenu.style.visibility='hidden';}}</SCRIPT></table></td></tr></table>
<!--<img SRC="menubar.gif" BORDER="0">-->
</body>
</html>
/kledal