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: When I load a page with dhtml menu sample, lets say contact, the first tab is always highlighted, not the contact tab
A: I suppose that you've set the following parameter:
var bselectedItem=1;
So, the first tab is always highlighted.
This Tab menu can save pressed item automatically within1 page only. If you open another page, the menu can't remember presseditem. You should do that manually using Javascript and menu parameters( var bselectedItem, var bselectedSmItem) or using any server-sidescript (php, asp, etc.)
You should delete this parameter from your data file and write thefollowing code on each page before you call your data file, for example:
<script language="JavaScript1.2>
var bselectedItem = 3;
</script>
Q: I'm using your javascript onclick menu tabs. What exactly is bselectedSmItem for? I know that bselectedItem is the selected tab, but what is bselectedSmItem?
A: bselectedSmItem is index of the selected subtab.
You should use this javascript onclick menu parameter if you use var tabMode=1;
If you use var tabMode=0;
you should set it to:
var bselectedSmItem=0;
Q: There is "Incorrect Copyright" message on our website in IE7. Please, help!
A: Now on your website you're using Deluxe Menu v1.14.
You see "Incorrect Copyright" message because you're using old version of Deluxe Menu. We've fixed this bug in the new version - v2.0.
How to upgrade to v2.00
---------------------------------------------------------------
You can download the licensed engine .js files from the same link in your license message.
Deluxe Menu v2.00 has new parameters and features.
To upgrade to v2.00 you should do the following.
Step 1.
1.1 For Windows users
a. Run Deluxe Tuner v2.0
(can be found in the trial menu package v2.0
http://deluxe-menu.com/deluxe-menu.zip).
b. Open menu data file (.js file where menu parameters are placed):
select File/Open…
c. Save the file: select File/Save, then click "No" button when the dialog box appears.
1.2 For other OS users
a. Open menu data file (.js file where menu parameters are placed) in a text editor.
b. Make sure that the following variables exist in the data file:
var keystrokes = 0;
var dm_focus = 1;
var dm_actKey = 113;
var dynamic = 0;
var smHideOnClick = 1;
var itemAlignTop = 'left';
var smSmartScroll = 1;
var dmAJAX = 0;
var dmAJAXCount = 30;
var dmRTL = 0;
var dmObjectsCheck = 0;
var menuBackRepeat = "repeat";
var menuHeight = "";
var transDuration2 = 200;
If one of the variables doesn't exist - add it at the beginning of the file.
c. Save the file.
Step 2. Now open HTML-page that contains Deluxe Menu.
Step 3. Replace existent <noscript></noscript> tags of the menu by the following code:
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
Step 4. Save HTML-page.
Step 5. New engine v2.00 has 7 .js files.
They are:
- dmenu.js
- dmenu4.js
- dmenu_add.js
- dmenu_dyn.js
- dmenu_key.js
- dmenu_cf.js (new v2.00)
- dmenu_popup.js (new v2.00)
Replace all old .js files by the files from v2.00.
Try that.