Recent Questions
Q: My question is how can I change the size and color of the font for the
main items in the simple dhtml menu, not the drop downs?
A: You can use Individual Item Styles in that case:
http://deluxe-menu.com/individual-item-styles-info.html
Set the style you need for subitems:
var fontStyle=["normal 11px Trebuchet MS, Tahoma","normal 11px Trebuchet MS, Tahoma"];
Set the style you need for main items:
var itemStyles = [
["fontStyle='bold 12px Arial','bold 12px Arial'"], // style 0
];
Assign this style for main items:
var menuItems = [
["Scenic album","scenic-album.htm", "", "", "", "", "0", "", "", "", "", ], //assign style 0
["|Item 8","", "", "", "", "", "", "", "", "", "", ],
["|Item 9","", "", "", "", "", "", "", "", "", "", ],
> ["|Item 10","", "", "", "", "", "", "", "", "", "", ], ["Floral album","floral-album.htm", "", "", "", "", "0", "", "", "", "", ], //assign style 0
["Southwest album","southwest-album.htm", "", "", "", "", "0", "", "", "", "", ], //assign style 0
["Wildlife album","wildlife-album.htm", "", "", "", "", "0", "", "", "", "", ], //assign style 0
];
Q: I would like to know how I indicate on a javascript menu, an item that was selected.
So in other words, if I have a horizontal navigation and I select the 3rd index along the menu
and select something from this, how can I make the 3rd index highlighted?
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">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.
Q: What I would like to see is the ability to have a base site navigation menu with all the definitional entries (size, locations, icons, etc.) defined but all the menuitems be called from an Ajax file.
A: You cannot use ajax submenus for the top items.
But you can use several .js file, for example:
params.js //file with all menu parameters (size, locations, icons, etc.)
all code before
var menuItems = [
...
];
dm_init();
data_ajax1.js //data files for ajax submenus
data_ajax2.js
data_ajax3.js
...
main_data.js - data file with the following code:
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
You can also place this code into your html page directly (in the place where you want tohave a menu):
<script type="text/javascript">
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
Q: Can I create menus with cross-frame capability using your drop down menu generator?
With the menu beingin one frame and the submenus opening to the other frame?
A: See how should you create cross frame menu:
1. 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.
So you should create your menu in Deluxe Tuner, save it.
Create html file with your frame set.
Set ID for the first frameset:
<FRAMESET id=frmSet rows=220,*>
<FRAME id=frame1 src="Deluxe Menu Samples_files/cross-frame-horizontal-1.htm"> //menu frame
<FRAME id=frame2 name=frame2 src="Deluxe Menu Samples_files/testlink.htm"> //content frame
</FRAMESET>
Then you should open your data file in any text editor and change
dm_init(); for example to dm_initFrame("frmSet", 0, 1, 0);
You'll find more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html