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: Greetings. How do I make a menu item as default selected and open when the page loads with the dhtml menu bar script? Thanks.
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">dhtml menu bar script 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 dhtml menu bar script 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: Is there a way to capture user click event just like the one in the javascript menu sliding?
A: Unfortunately, you can't assign onmouseover/onClick/onContextMenu event to each item.
However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onContextMenu='your_code_here'>item text</div>", ""]
];
Q: I'm trying the deluxe menu and I'm positively impressed.
But now I'm trying to simply use javascript to add some properties to my menu.
I modified the dynamic to 1
and I get only one error in the javascript monitor telling me:
Error: dm has no properties
Source File:
http://devel.discgolf-geneve.ch:8081/docroot/dg/js/menu/data.files/dmenu_dyn.js
Line: 8
A: Please, see how you should write this function:
function dm_ext_addItem (menuInd, submenuInd, iParams)
<script type="text/javascript" language="JavaScript1.2">
dm_ext_addItem(0, 0, ["Hello", "testlink.htm", "", "", "Hello", "_blank", "-1"]);
menuInd - index of a menu on a page, >= 0. (you have written menuInd=1, but if you have one menu on your page you should write 0).
You also have written itemStyleInd=1, but you have only one style in your menu. So you should write "0" or "-1".