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: By the way, I'm not sure I know how to save a screen shot of the vertical drop down menu in the the browser window. Any tips will be appreciated.
A: To save a screen shot of your menu in the browser window you should do the following:
1) Open your website in the browser
2) Open any graph editor, for example Paint and press "Ctrl + V" buttons on the keyboardor go to "Edit / Paste".
3) Then go to "File / Save as".
Save as type - JPEG or PNG.
Select a folder where you would like to save a screenshot and click "Save" button.
Try that.
Q: Is there any luck with getting your popup menusto work with the dynamic drive script..?
A: Unfortunately we don't work with dynamic drive script.
But I suppose that you can use it with Deluxe Menu without any problems.
But in that case you should move menuItems and dm_init(); function from your data file tothe html page directly.
For example delete the following code from your data file
var menuItems = [
["Aston Martin Page","javascript:ajaxpage('ajaxfiles/external3.htm', 'rightcolumn');\"", "", "", "", "", "", "", "", "", "", ],
];
dm_init();
and paste it in SCRIPT tags on your html page in the place where you want to have a menu:
...
<div>
<script type="text/javascript">
var menuItems = [
["Aston Martin Page","javascript:ajaxpage('ajaxfiles/external3.htm', 'rightcolumn');\"", "", "", "", "", "", "", "", "", "", ],
];
dm_init();
</script>
</div>
Q: I just need to know if there is a way of establishing the width at "runtime" in the javascript dynamic menu so that my frame in my frameset can be widened accordingly.
A: There are no special parameters for menu dimensions.
But you can use submenu IDs. For example, top-menu has ID"dmXXXm0"
Where XXX - menu index. So, first menu on the page has ID "dm0m0".
So, you can determine menu dimensions so:
document.getElementById('dm0m0').offsetWidth
document.getElementById('dm0m0').offsetHeight
You can also use Javascript API functions to take submenu IDs.