Arknath
07-23-2003, 02:48 PM
Hi!
I am having some difficulty with a crossframe menu that I am writing. Everything works fine except I cannot get the Div containing the dropdown menu to stay on the screen when the user tries to mouse to it.
In other words, here is how I have it set up:
I have a two-frame set (_topFrame, _mainFrame)
_topFrame contains:
Imagemap where the areas call a function on a mouseover (displayMenu) and mouseout (removeMenu) event.
_mainFrame contains:
3 absolutely positioned Div tags that are shown when displayMenu is activated and hidden when removeMenu is activated.
Herein lies my problem. When the user tries to move the mouse to the divs that are showing, the mouseout fires and hides the div tags. My first thought is that I am referencing it incorrectly because the user is moving the mouse from one frame to another, therefore the parent document must point to the _mainFrame in order for the reference to work. Here is the code that I have:
_topFrame:
<script language="JavaScript">
function menuDisplay(mnuName){
mnuConcat=mnuName+"Menu";
parent._mainFrame.document.getElementById(mnuConcat).style.display="inline";
}
function menuRemove(mnuName){
mnuConcat=mnuName+"Menu";
if (event.toElement == parent._mainFrame.document.getElementById(mnuConcat)){
parent._mainFrame.document.getElementById(mnuConcat).style.display="inline";
}else{
parent._mainFrame.document.getElementById(mnuConcat).style.display="none";
}
}
</script>
</head>
<body bgcolor="#ffffff">
<div class="title"> <img src="graphics/ff_title.gif" border="0" usemap="#titleNav"/>
<map name="titleNav" id="titleNav">
<area shape="rect" coords="219,104,330,122" onMouseOver="menuDisplay(this.id)" onmouseout="menuRemove(this.id)" name="animal" id="animal">
<area shape="rect" coords="342,104,420,122" onMouseOver="menuDisplay(this.id)" onmouseout="menuRemove(this.id)" name="accessory" id="accessory">
<area shape="rect" coords="432,104,501,122" onMouseOver="menuDisplay(this.id)" onmouseout="menuRemove(this.id)" name="showing" id="showing">
<area shape="rect" coords="513,104,597,122" href="contact.html" target="_mainFrame">
</map>
</div>
_mainFrame:
<div id="body">
<div class="animalMenuDiv" id="animalMenu">
<table class="menuItem" width="111px">
<tr><td>Birds</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Hatchlings</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Squirrels</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Sugar Gliders</td></tr>
</table>
</div>
<div class="accessoryMenuDiv" id="accessoryMenu">
<table class="menuItem" width="78px">
<tr><td>Cages</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Feed</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Toys</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Miscellaneous</td></tr>
</table>
</div>
<div class="showingMenuDiv" id="showingMenu">
<table class="menuItem" width="69px">
<tr><td>January</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>February</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>March</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>April</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>May</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>June</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>July</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>August</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>September</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>October</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>November</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>December</td></tr>
</table>
</div>
<!--<P ALIGN="center"><!-- Counter code version 1.0. Do NOT alter this code!http://counter.mycomputer.com --><!--<img alt="Counter"src="http://counter.mycomputer.com/c.count?u=Feathers&c=1" border=0><!-- End of Counter Code --> </P>
</div>
Any ideas?
I am having some difficulty with a crossframe menu that I am writing. Everything works fine except I cannot get the Div containing the dropdown menu to stay on the screen when the user tries to mouse to it.
In other words, here is how I have it set up:
I have a two-frame set (_topFrame, _mainFrame)
_topFrame contains:
Imagemap where the areas call a function on a mouseover (displayMenu) and mouseout (removeMenu) event.
_mainFrame contains:
3 absolutely positioned Div tags that are shown when displayMenu is activated and hidden when removeMenu is activated.
Herein lies my problem. When the user tries to move the mouse to the divs that are showing, the mouseout fires and hides the div tags. My first thought is that I am referencing it incorrectly because the user is moving the mouse from one frame to another, therefore the parent document must point to the _mainFrame in order for the reference to work. Here is the code that I have:
_topFrame:
<script language="JavaScript">
function menuDisplay(mnuName){
mnuConcat=mnuName+"Menu";
parent._mainFrame.document.getElementById(mnuConcat).style.display="inline";
}
function menuRemove(mnuName){
mnuConcat=mnuName+"Menu";
if (event.toElement == parent._mainFrame.document.getElementById(mnuConcat)){
parent._mainFrame.document.getElementById(mnuConcat).style.display="inline";
}else{
parent._mainFrame.document.getElementById(mnuConcat).style.display="none";
}
}
</script>
</head>
<body bgcolor="#ffffff">
<div class="title"> <img src="graphics/ff_title.gif" border="0" usemap="#titleNav"/>
<map name="titleNav" id="titleNav">
<area shape="rect" coords="219,104,330,122" onMouseOver="menuDisplay(this.id)" onmouseout="menuRemove(this.id)" name="animal" id="animal">
<area shape="rect" coords="342,104,420,122" onMouseOver="menuDisplay(this.id)" onmouseout="menuRemove(this.id)" name="accessory" id="accessory">
<area shape="rect" coords="432,104,501,122" onMouseOver="menuDisplay(this.id)" onmouseout="menuRemove(this.id)" name="showing" id="showing">
<area shape="rect" coords="513,104,597,122" href="contact.html" target="_mainFrame">
</map>
</div>
_mainFrame:
<div id="body">
<div class="animalMenuDiv" id="animalMenu">
<table class="menuItem" width="111px">
<tr><td>Birds</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Hatchlings</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Squirrels</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Sugar Gliders</td></tr>
</table>
</div>
<div class="accessoryMenuDiv" id="accessoryMenu">
<table class="menuItem" width="78px">
<tr><td>Cages</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Feed</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Toys</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>Miscellaneous</td></tr>
</table>
</div>
<div class="showingMenuDiv" id="showingMenu">
<table class="menuItem" width="69px">
<tr><td>January</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>February</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>March</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>April</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>May</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>June</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>July</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>August</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>September</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>October</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>November</td></tr>
<tr class="spacer"><td></td></tr>
<tr><td>December</td></tr>
</table>
</div>
<!--<P ALIGN="center"><!-- Counter code version 1.0. Do NOT alter this code!http://counter.mycomputer.com --><!--<img alt="Counter"src="http://counter.mycomputer.com/c.count?u=Feathers&c=1" border=0><!-- End of Counter Code --> </P>
</div>
Any ideas?