Recent Questions
Q: I recently purchased DeluxeMenu for a project I'm working on and a new requirement has been submitted.
I am looking for a way to dynamically affectthe contents of menu javascripts
after it's been rendered(displayed) in the browser.
Can this be accomplished with this component?
A: 1) You can use API functions to affect items dynamically:
http://deluxe-menu.com/functions-info.html
2) Generate your menu items dynamically from database.
Unfortunately we don't have working example with ASP.
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">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>
<!-- (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 can I from javascript code change a displayed tab selection to another one in the dynamic menu tabs... lets say from first tab to the third tab?
A: This Tabs menu can save pressed item automatically within1 page only.
If you open another page, the menu can't remember presseditem.
You should do that manually using Javascript and menu parameters
( var bselectedItem and var var bselectedSmItem) or using any server-side script (php, asp, etc.)
Deluxe Tabs doesn't support API functions which can return theselected tab.
If your site is written on PHP you can set "bselectedItem" and "varbselectedSmItem" parameters
based on your link beforeyou call your data file.
For example, move "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>
Try that.
Q: 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: I want to have one of the drop menus in the horizontal navigation use a different image.
I am using the vista images and would like to have all of them but one use the same image
and the last one a different one. Can this be done?
A: You should create Individual Style for the last item and assign another image for it.
var itemStyles = [
["itemWidth=92px","itemHeight=21px","itemBackColor=transparent,transparent","fontStyle=normal 11px Tahoma","fontColor=#FFFFFF,#FFFFFF","itemBackImage=data-vista-01.files/btn_black.gif,
data-vista-01.files/btn_black_blue.gif"],
["itemWidth=92px","itemHeight=21px","itemBackColor=transparent,transparent","itemBackImage=data-vista-2-03.files/btn_green.gif,data-vista-2-03.files/btn_green2.gif","fontStyle='normal 11px Tahoma','normal 11px Tahoma'","fontColor=#FFFFFF,#FFFFFF"],
];
var menuItems = [
["Home","testlink.html", "", "", "", "", "0", "0", "", "", "", ], //style 0
["Product Info","", "", "", "", "", "0", "", "", "", "", ], //style 0
...
["Purchase","http://deluxe-menu.com/order-purchase.html", "", "", "", "_blank", "0", "", "", "", "", ], //style 0
["Contact Us","testlink.htm", "", "", "", "", "1", "", "", "", "", ], //style 1
];