Recent Questions
Q: Do you by chance have the dhtml menu samples working with XML?
A: Unfortunately we don't have working example.
You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.However, these scripts don't work inside of Javascript .js files, so,you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">dhtml menu samples by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<!-- (c) 2008, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];
</script>
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.htmlQ: How change the color of the link in the dhtml vertical menu if the link is already visited.
A: Deluxe Menu has only two states normal and mouseover,
butyou can highlight menu items in two ways:
Try to do the following things:
- delete var pressedItem=1; parameter from your data file
- set correct parameter on each page before you call data file, forexample:
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<script type="text/javascript"< var pressedItem=3;</script>
...<script type="text/javascript" src="menudir/data.js"></script>
You can also set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html
Q: Is there a way I can do an include of a separate file that would contain the
var menuItems = [];
A: You can delete var menuItems = []; and dm_init(); from your data.jsfile and paste it into your html page or in the other file.
You should call at first data.js file with the parameters and thanmenuItems = []; and dm_init();.
Q: I'm trying to position my menus inside absolutely positioned <DIV> tags. If the <DIV> tag has style="position:absolute; top:100px; left:50px;" in the actual tag, deluxe-menu seems to work correctly. If I have the "position:absolute; top:100px; left:50px;" in a <STYLE> tag or a linked stylesheet and applied using id or class selectors, then deluxe-menu does not work correctly: sub menus have a 100pixel offset in the y direction and a 50 pixel offset in the x direction. This is with no change to the .js data file (I have absolutePos=0;) Is this a known issue, and is it planned to be fixed?
A: See, the problem is that the script can't get css properties of the object if they are described in separate .css block (or file).
In other words, you can't get the value of "position" attribute of the object if the object doesn't have this property within inline style(style="position:absolute"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
For example, you should add style="position:absolute;"
to the
<DIV id=head>
So, you'll have:
<DIV id=head style="position:absolute;">
Now we have only such solution for this problem.
We'll try to fix this problem in the future versions.