Recent Questions
Q: Typically in order to generate a menu with multiple layers I’d put a pipe character in front of the menu text.. For example:
["|Page Admin","/admin/handoutadmin.php", , , , "_new", , , , ],
["||Student Pages","/admin/handoutadmin.php?type=1", , , , "_new", , , , ],
["||Teacher Pages","/admin/handoutadmin.php?type=2", , , , "_new", , , , ],
["||Family Letters","/admin/handoutadmin.php?type=4", , , , "_new", , , , ],
["||Transparencies","/admin/handoutadmin.php?type=3", , , , "_new", , , , ],
However, when I try to do it with dm_ext_addItem it actually SHOWS the pipe character and doesn’t create any menu levels at all.
For example:
dm_ext_addItem(0, 0, ["Add a Handout to this Lesson", "", "", "", "", "", ""]);
dm_ext_addItem(0, 0, ["|Student Page","/admin/handoutadmin.php?type=$type", "", "", "", "_new", ""]);
dm_ext_addItem(0, 0, ["|Teacher Page","/admin/handoutadmin.php?type=$type", "", "", "", "_new", ""]);
How can I generate multiple levels of the menu with javascript?
A: I suppose that your code is not valid
dm_ext_addItem(0, 0, ["|Teacher Page", "/admin/handoutadmin.php?type=$type", "", "", "", "_new", ""]);
Try to write it in the following way:
dm_ext_addItem(0, 0, ["|Teacher Page", "/admin/handoutadmin.php?type=", "", "", "", "_new", ""]);
Q: The menu doesn't show the drop down sub items. If you would look at the script there are two sublinks for Accommodation which however is not visible when we are doing a mouseover. I have attached the revised data.js file with this mail. Please let me know if thre is anything else hat i need to look into.
A: You should set back color for your submenus.
For example you should create style and assign it for the subitems:
var itemStyles = [
["itemBackColor=#61420A,#B77D13","itemBorderWidth=1","itemBorderStyle=solid,solid",,
"itemBorderColor=#3C2906,#3C2906"],//style0
];
["Accommodation","#", "", "", "", "", "", "", "", ],
["|test1 text text","", "", "", "", "", "0", "", "", ], //style0
["|test2 text text text text","", "", "", "", "", "0", "", "", ],//style0
You should also set the following parameters:
var itemAlign="left";
var subMenuVAlign="bottom";
Q: I need to be able to highlight the selected menu item of the sliding drop down menu.
A: 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: I am using your Ajax menu and am generally delighted with it. Its ability to load sub menus on the fly is just what I have been looking for.
However, I have noticed in IE7 that it can leave sub menus displayed when you have moused off that particular ajax drop down menu. Can this be fixed?
Also, can you get the menu to disappear when you mouse off the menu, rather than having to hover over another menu or click the page off the menu.
A: See, now you've set the following parameter:
var smHidePause=-1;
It means that your submenus won't be hidden till you click or scroll your page.
If you want to hide your submenus on mouse out you should set another value, for example:
var smHidePause=1000;
or
var smHidePause=500;