Recent Questions
Q: My site requires me to regularly update the menu by inserting a new menu item at the top of the list. Creating a sub-item automatically places it at the bottom and I haven't yet found a way to move java animated menu items to the top apart from manually editing the data.js file.
A: You should use new engine files v3.2.5 and add items using thefollowing function:
function dm_ext_addItemPos (menuInd, submenuInd, iParams, Pos)
Adds the new item to a submenu.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0. See more info about indexes here.
iParams = [array] - the array of item parameters. This parameter has the same structure as an item in menuItems array. You can assign parameters of another existent item of the menu (for example, when you want to create a duplicate of the existent item) or create new ones.
Structure of iParams:
[item_text, link, icon_normal, icon_over, tip, target, individual_style_index, jsFilename]
Pos - the position in the menu where you want to add new item.
Find more info:
http://deluxe-menu.com/functions-info.html
Q: I am trying to have the selected top menu w dhtml item remain on the mouseover event after it is selected. It seemed to be working fine when i was just testing with # as a link but when i actually linked to different pages it returns to normal. How do i get this to work.
I tried removing the variable from the data file and calling it using
<script type="text/javascript" language="JavaScript1.2"> var pressedItem=set 1,2,3 depending on page </script>
but this does not seem to work as it does for tabs.
A: You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html
Deluxe Menu has only two states normal and mouseover.
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">menu w dhtml 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.
Q: Can I use just one data.js in one folder that all the pages with a dhtml popup menu point to?
A: If you don't want to create your menu on each page you can use aserver-side script
(php, asp, vb, etc.) to generate html pages fromtemplates on your server.
You can use cross frame menu.
It allows you to build full-featured menus on the pagesthat use frame-based structure.
And it's not necessary to insert any code into all the pages -just specify the additional
parameters of the menu and initialize it.
To install the menu in a cross-frame mode, see more info here:
http://www.deluxe-menu.com/cross-frame-mode-sample.htmlQ: Can you please give me tips on how I can style all menuitems to have font bold when selected and normal font when not selected?
A: Unfortunately, Deluxe Tree doesn't have such a feature. You can onlyset it's color. You cannot set the font of menu item bold when selected.
You can set menu item's font bold onMouseover, see example here:
http://deluxe-tree.com/data-templates/vista-style-7-template-sample.html
You should addthe following code in your data file:
function changeFont(obj, over)
{
obj.style.fontWeight = over ? 'bold' : 'normal';
obj.style.fontSize = over ? '13px' : '12px'; // You can not use this line
}
var tmenuItems = [
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Security</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Ease of Access</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Internet Options</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Windows Firewall</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Network and Internet</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Hardware</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Programs</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Appearance</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>User Accounts</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Personalization</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Sound and Speech</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Additional Options</div>","", "", "", "", "", "", "", "", ],
];
Please, notice also that you should add this function every time whenyou change your menu in Deluxe Tuner application, as Tuner deletesthis function.