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: As I have stated before, your Deluxe-Menu is very very good.
But there is allways room for improvement.
Is there any chance to see support for the following in Deluxe-Menu:
When I move the mousepointer above a menuitem and right-click I would like to see in the javascript contextual menu (the context menu provided by the browser):
Open Link in new window
Open Link in new tab
If the above is not possible or not something you want to enable.... then, there should be possible to make a workaround to make this work:
I see there is support for custom javascript contextual menus.....
.... is there any possibility to make a custom context menu that show above a menuitem and that show when right clicking on the menuitem.
Should hopefully be possible to create in such way that I create one context menu in javascript (the deluxe menu way... ) , but when clicking on "Open link in new window" from that custom menu, then the JS code should call a javascript function of mine (or yours), with a parameter related to the menuitem that was right-clicked...
And this javascript function should be able to resolve the actual URL (based on the input parameter rel. to the menuitem) and then open a new window using window.open()
If not possible to implement using the native browser context menu, then I belive it should be possible to do it using my workaround how to.....
Just a thought....
Any suggestions on how I can make the workaround work, or if maybe you could support the workaround in some way in future releases of Deluxe-Menu?
A: Yes, there is a workaround.
You can write your items in the following way:
["|<a href='http://www.domain.com' class="link">test test test</a>",""],
You should assign style for this link.
A.link {
...
}
A.link:hover {
...
}
Q: For each item in my menu, can I specify an image in place of text or background?
A: If you want to use images instead item text, you should useindividual item styles. For example:
var itemStyles = [
["itemWidth=200", "itemBackImage=image1.gif,image2.gif"], // style 0
["itemWidth=150", "itemBackImage=image3.gif,image4.gif"], // style 1
];
var menuItems = [
[" ", "link", "", "", "tip", "target", "0"],
[" ", "link", "", "", "tip", "target", "1"],
];
Where "0", "1" - style number in itemStyles.
Please, use Deluxe Tuner application to create and assign individualstyles. You can find Deluxe Tuner in the trial package.
Q: The button menu is on the top of the screen but it has lines through each of the menus just after the words and before the arrow on each of them.
I have stretched the menu out tocover the whole of the top of the page but i need to get these lines out of the menu.
Can you please help me with this problem
A: See images in Vista Templates have the fixed width and height (92 x21):
var itemStyles = [
["itemWidth=92px","itemHeight=21px","itemBackColor=transparent,transparent","itemBorderWidth=0",
"fontStyle=normal 11px Tahoma","fontColor=#3A3A3A,#000000","itemBackImage=data-vista-2-04.files/btn_olive.gif,data-vista-2-04.files/btn_white.gif"],
];
When items text is too long you can have such effect.
You can try to use combined background for your items, for example:
var beforeItemImage = [,]; //left-side image for normal and mouse over state
var itemBackImage = [,]; //background or image for normal and mouse over state
var afterItemImage = [,]; //right-side image for normal and mouse over state
var beforeItemImageW = '';
var afterItemImageW = '';
var beforeItemImageH = '';
var afterItemImageH ='';
But you should create a small images in any Graph Editor, for example:
button_n_back.gif
button_n_left.gif
button_n_right.gif
button_o_back.gif
button_o_left.gif
button_o_right.gif