Recent Questions
Q: We are registered users of the Deluxe Menu software. Today I tried to use the Javascript API, but there is something I do not understand and want to ask for support.
First, I set up a very simple menu:
var menuItems=[
['Menu 1'],
['|Submenu 1'],
['Menu 2'],
['|Submenu 2'],
];
This menu is built via dm_init().
Then, I inspect the menu (in Firebug):
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
Ok, there are three submenus. Now I am going to delete one of them:
>>> dm_ext_deleteItem(0, 0, 1)
"Menu 2" disappears on the screen, this works as expected. But now when I re-inspect the menu using the API, I find that the API reports exactly the same as before:
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
So, it seems the report function continues to know about the original menu structure and reflects it. Am I using the API in a wrong way?
The problem I want to solve is to remove the entire menu dinamico dhtml, in order to rebuild it dynamically. Because I did not see a function aimed to this functionality, my plan was to delete all main menu entries subsequently until the main menu inspector no longer reports an entry. Is there (a better) way to achieve this?
A: Unfortunately, dm_ext_deleteItem() only change visibility of theseitems.
It doesn't delete them completely.
We'll try to fix it in the next versions of Deluxe Menu.
Q: I can't get the hand pointer to work with my dhtml menu scripts in firefox and IE. I know that firefox requires the itemCursor to be set to pointer, but it doesn't work for all links in my menus. I believe that this worked in past version of deluxe-menu, but stopped working somewhere along the way. To recreate this, create a horizontal menu, and set the pressedItem to be one of the menu items and set the itemCursor to be "pointer". Then, you'll see that the pressed item's pointer is the finger icon, but the other menu items are just the arrow. Is there something I'm doing wrong or a setting that will fix this?
A: No, the reason is not in the pressed item.
See when you set:
var itemCursor="pointer";
your cursor will be a hand for the items with url only. For the itemswithout url it will be default arrow.
Q: Is it possible that a menuitem of the js dropdown menu stays highlighted after clicking and loading the new html site?
A: The menu has only two states normal and mouseover. We'll try to add the pressed state in the future.
You can 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 also set the correct
var pressedItem=1;
parameter on each html page.
Q: I am generating a conference website which I though will be out as soon as possible but you javascript menu generator has become impossible to insert in my page, here attached in a sample page, it is basic html, so tell me where am going wrong.
Or otherwise insert it for me.
A: Now you have:
<style type="text/css">
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "data.files/";</script>
<script type="text/javascript" src="data.files/dmenu.js"></script>
<!-- (c) 2007, by Deluxe-Menu.com -->
</style>
It is not correct.
You should write:
<style type="text/css">
</style>
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "data.files/";</script>
<script type="text/javascript" src="data.files/dmenu.js"></script>
<!-- (c) 2007, by Deluxe-Menu.com -->