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 am having a problem trying to figure out how to generate a link to a popup window.
I looked at what you have on your site but it is not clear to me.
A: You can show the popup window when you hover, click or mouseout on some elements on your
page. For example you've added an image in your html page. You should specify the ID for it, for example:
<p><img id="open_popup" border="0" src="images/submenu-bg.gif" width="170" height="29"></p>
In the Deluxe Tuner you should enter 'open_popup' object ID in the onMouseOver,
onClick or onMouseOut fields.
Actually you can assign id to any object on your page manually. You should specify ID's - id="xxxx"
for <a>, <div>, <img> ... tags.
Or you want to open a popup onMouseover, onClick or onMouseout on a link.
So, you should create a link (you can also use other object) on your page and set id="" for it,
forexample:
<a href="javascript:;" id="link">Open popup OnClick</a>
<a href="javascript:;" id="over">Open popup OnMouseover</a>
<a href="javascript:;" id="out">Open popup OnMouseOut</a>
In Deluxe Tuner you should set:
onMouseOver - over
onMouseOut - out
onClick - link
If you want to show the popup when your page loads you should leave these fields empty:
onMouseOver:"",
onMouseOut:"",
onClick:"",
Q: I can't find anywhere in your documentation that states where
I can call function onclick other than in the menu target for dhtml menu script.
A: You can use onclick event in the following way:
var menuitems = [
["<div onClick='getLink(\'/Admin/Sales/Customers/Customers.asp\')'>Table of Contents</div>", ""]
];
Q: I have two question for now...
Where can I change the word "loading" during ajax is loading the submenu?????
Is state saving of javascript based tree just for the first level??? Does it works for the AJAX submenus?
The reason why I switch to treemenu is the possibility of state saving!
A: I've just checked your website and save state feature works fine for the ajax submenus.
Actually we've added this feature in v3.2.7 of Deluxe Tree.
http://deluxe-tree.com/whats-new-info.html
I see you changed the "Loading.." text inside the dtree_ajax.js file.