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 a different type of menu, other than the way I have it set up, such as the tree type, that might load faster or take up less space when the page loads?
A: You should set
var dmAJAX=1;
create .js files with your submenus and call this files from your mainfile, for example:
var menuItems = [
["Home","testlink.htm"],
["Product Info","", , , , , , , "data-samples/data-ajax2.js", ],
["Samples","", , , , , , , "data-samples/data-ajax3.js", ],
["Purchase","testlink.htm"],
["Contact Us","testlink.htm"],
];
/*** data-ajax2.js ****/
var menuItems = [
["Features","testlink.htm"],
["Installation",""],
["Parameters Info","testlink.htm"],
["Dynamic Functions","testlink.htm"],
["Supported Browsers",""],
];
Add dmenu_ajax.js file in the same folder with your dmenu.js file.
Try that.
Q: How can I get an image to be a separator in between items on my css vertical drop down menu?
A: To add a separator you should
//--- Separators
var separatorImage=""; //for subitems (top items in vertical menu)
var separatorWidth="100%";
var separatorHeight="3px";
var separatorAlignment="right";
var separatorVImage="separator.gif"; //for the top items (subitems items in vertical menu)
var separatorVWidth="100%";
var separatorVHeight="2px";
var separatorPadding="";
You can create separators using menuItems (you can do it in DeluxeTuner, use "Add separator" button), for example:
var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"],
];