Recent Questions
Q: I've begun experimenting with the dhtml rollover menu program and like what I see.
Question, when I have a tree menu on the left and the user clicks a node, I want the resulting HTML page to appear next to the dhtml rollover menu, on the right hand side. How do I reposition the HTML page so it doesn't take up the whole page and cover the menu?
A: You can use frames and open link pages into the content frame, or use Iframe.
Please, set the name for your iframe, for example:
<iframe name ='myFrame' ...
<frame name ='myFrame' ...
And then you must set the following dhtml rollover menu parameter in the data file withyour menu:
var titemTarget="myFrame";
Q: I need to load a tab page and have the correct javascript menu rollover tab showing based on a variable that is available when the page loads. How do I get the tab to change to a different tab then the one defined in the configuration file?
Example
bmenuItem = 0; /* this is the default */
When my page reloads I want bmenuItem = someVariable;
How do I do this?
A: Deluxe Tabs doesn't support API functions which can return theselected javascript menu rollover tab.
You can set "bselectedItem" and " var bselectedSmItem" parametersbased on your link before you call your data file.
For example, move " var bselectedItem" and " var bselectedSmItem" parametersfrom your data file to your code.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
var bselectedSmItem=<?php echo $selsmtabs; ?>;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs and selsmtabs using server side script.
You can also set it on every page before you call data.js file, forexample:
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
var bselectedSmItem=3;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
Q: I see that you have the demo of the menu working over a frame so that it displays over the lower frame, vertical top to bottom.
However I have played around with your demo and can't seem to replicate the same feature.
Could you please tell me what I have to set to make the easy dropdown menu float over the lower framed window?
A: To initialize the cross frame menu call dm_initFrame() function instead of standard dm_init() function within data.js file:
dm_initFrame(framesetID, mainFrameInd, subFrameInd, orientation);
framesetID - id attribute of the frameset;
mainFrameInd - index of the main frame (where the top-menu is placed), >=0;
subFrameInd - index of the subframe (where the submenus will be shown), >=0;
orientation - frame orientaion: 0 - top-to-bottom, 1 - left-to-right; 2 - bottom-to-top; 3 - right-to-left.
For example, for the following structure:
<frameset id="frmSet" rows="185,*">
<frame id="frame1" src="cross-frame-horizontal-1.htm">
<frame id="frame2" name="testlink.htm" scrolling="no">
</frameset>
the dm_initFrame() function call at the end of data.js file will look like:
dm_initFrame("frmSet", 0, 1, 0);
Q: There is one other issue I am hoping you can help with? When the dhtml web menu drops down in Safari over a SWF -- it disappears. I have added the function dm_ext_ruleObjectHide() code to the top of my data file. Can you please advise what else I can try?
A: Submenu couldn't overlap flash in Safari correctly.
And the following code:
// Safari detect
if ((parseInt(navigator.productSub)>=20020000) &&(navigator.vendor.indexOf('Apple Computer') != -1) &&(navigator.product=='Gecko'))
return true;
in function
function dm_ext_ruleObjectHide()
{
// Safari detect
if ((parseInt(navigator.productSub)>=20020000) &&(navigator.vendor.indexOf('Apple Computer') != -1) &&(navigator.product=='Gecko'))
return true;
else
return false;
}
cause flash to disappear in Safari.
You can try to write this function in the following way:
function dm_ext_ruleObjectHide()
{
return false;
}