Recent Questions
Q: I'm a having an issue with my dhtml dropdown menus poping-up behind a flash object on a page. The key to this issue is that the menus work perfectly in our non-secure (HTTP) development environment, but do not work correctly on our secure (HTTPS) beta environment. The code on the 2 environments is exactly the same, and the beta environment does work when viewed in HTTP. Both the flash object and the Deluxe-Menu are called using relative paths, not absolute paths.
Please let me know what additional information you need from me. I appreciate any help you can provide.
A: Check that you're using latest version of engine files - v3.3.
You should add "opaque" parameter for <object> and <embed> tags.
See, how you should install flash on your pages.
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="150"
width="732" name="if-header">
<param name="movie" value="images/flash/if-header.swf">
<param name="quality" value="best">
<param name="play" value="true">
<param name="wmode" value="opaque">
<embed height="150" name="if-header" pluginspage="http://www.macromedia.com/go/getflashplayer" src="images/flash/if-header.swf" type="application/x-shockwave-flash" width="732"
quality="best" wmode="opaque" play="true">
</object>Q: I’d like to know how to populate the navigation bar menu from a database?
A: Please, see the example of .php file.The content of .php file depends on your database structure.
<?php
// The example for PHP/MySQL.
// MySQL database has the table "menuTable" that contains data for menu items.
// The table has the following fields:
// 1. "text" - item text
// 2. "link" - item link
// 3. "icon1" - item icon (normal state)
// 4. "icon2" - item icon (mouseover state)
function getMenuItems()
{
$jsItems = '';
// Select all records from table "menuTable"
$allItems = mysql_query('SELECT * FROM menuTable;');
// Extract items data from database and build Javascript code for menuItems
while ($itemData=mysql_fetch_array($allItems))
{
$jsItems .= '["'.$itemData['text'].'", "'.$itemData['link'].'", "'.$itemData['icon1'].'", "'.$itemData['icon2'].'"],';
}
// Return Javascript code
return $jsItems;
}
?>
<script>
var menuParam1 = value1;
var menuParam2 = value2;
var menuParam2 = value2;
...
var menuItems = [
// Write Javascript code for menu items
echo getMenuItems();
?>
];
</script> 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: Can I ask a technical question? I am using the menu in a frameset, and I would like for the drop down menu selected branch to sty highlighted after the user moves the mouse to another window (where the menu brings up a new page), just so the user knows where he/she is. Is that possible?
A: But if you open links in the another frame (window) the initial frame with your menu isnot reloaded, so the clicked item will be highlighted.
You should set the following parameters:
var ttoggleMode=1;
var tpressedFontColor="#AAAAAA";
You can also set the following parameter to save menu state:
var tsaveState=1;
var tsavePrefix="menu1";
If you install the menu without frames. On your pages you should call the following function/functions to expand/highlight items, for example:
<script>
dtreet_ext_expandItem (dtreet_ext_getItemIDByIndex (0, 0), 1);
dtreet_ext_setPressedItem (0, dtreet_ext_getItemIDByIndex (0, 1));
</script>
See more info about API functions here:
http://www.deluxe-tree.com/functions-info.html
Example:
http://deluxe-tree.com/highlight-selected-menu-item-sample.html