Recent Questions
Q: I can't figure out how to get menu items to swap images to use like a traditional image rollover. In the Dhtml menu, I can change the style background without needing images, or I can use generic images as a background, but I have situations where I need to use unique images for each state of a button.
These unique image buttons contain text and graphics, and there are different images for different states: normal, mouse over, mouse down.
A: The menu has only two states normal and mouseover.
You should use Individual Item Styles.
Please, see the example of Deluxe Menu here:
http://deluxe-menu.com/data-templates/vista-style-02-template-sample.html
You should use "itemBackImage" parameter.
var itemStyles = [
["itemWidth=92px","itemBorderWidth=0","fontStyle=normal 11px Tahoma","fontColor=#FFFFFF,#FFFFFF","itemBackImage=btn_greenblack.gif,btn_green.gif"],
];
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.
Q: The menu has a problem with newlines. The menu builds correctly (layout ok) but when pressed on the button nothing happens
At some point, in the DHTML menu, we have the following in the javascript:
var menuitems = [
["|Print HTML","javascript:alert('HTML print: Only the 7 most recent orders on the screen \n will be printed because of space limitations on paper.');printResult('4'); ","","", ,"_parent",,] ]
As you can see we have a newline (\n) between the words "screen" and "will". But when we click on the button nothing happens. If we remove the newline and we click on the button then we first get the alert box. After pressing the OK button the function printResult is called.
Is there any way for us to still use the newline character in the menuItems variable?
This can be easily reproducible. That's why I haven't made an example.
A: Try to write in the following way \\n:
["|Print HTML","javascript:alert('HTML print: Only the 7 most recent orders on the screen \\n will be printed because of space limitations on paper.');printResult('4'); ","","", ,"_parent",,]
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.