Recent Questions
Q: Does horizontal drop down menu works with JSP? How can I do that?
A: Deluxe Menu is the Javascript product. It means that it works on aclient side only and it doesn't depend on the server which you'reusing and it doesn't work on a server side as JSP script.
So, you can create the menu using standard html page and them movemenu code within .jsp page.
Q: Could you please tel me : How to use UN-Code on the item. I make some menu based on Farsi language ( Arabic) , but it does not work.
A: You're able to use any characters for Deluxe Menu in the same way asyou use them for standard html page.
The only issue is that submenus can be shown in incorrect positionwhen you're using dir=rtl for your page.
var dmRTL = 0;
Set this parameter to 1 if you're using right-to-left direction of html page <HTML dir=rtl>.
Use also
var smViewType = 2;
for right-to-left languages.
Please, see example:
http://deluxe-menu.com/ways-showing-submenus-sample.html
This examples demonstrates how the menu can change a submenusdirection. Use var smViewType parameter to change a submenusdirection:
var smViewType = 0..3;
Values:
0 - from left to right;
1 - from left to right + upwards;
2 - from right to left;
3 - from right to left + upwards;
In Deluxe Menu when you call data .js file you can try to specify the encoding:
<script src="data.js" charset="utf-8"></script>
Unfortunately, you can't use arabic characters in Deluxe Tuner application.
You should manually correct your code.
Q: Is it possible that a menuitem of the js dropdown menu stays highlighted after clicking and loading the new html site?
A: The menu has only two states normal and mouseover. We'll try to add the pressed state in the future.
You can set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
You can also set the correct
var pressedItem=1;
parameter on each html page.
Q: I will build menu for several books’ Contents, each book is more than 100 lines and has links. I think if all the books’ contents in 1 *.JS file then it is TOO LOONG!!.
Can I break it down to 1 book for 1*.JS ? How?
A: You cannot divide your menuItems parameter.
You can only use one .js file for your menu parameters and the other.js file for your menuItems = [...];
But you can do it in two ways.
1) You can try to use several menus on the one page, for example:
param.js // file with menu parameters (all parameters before menuItems = [...];)
menu1.js // menuItems for "AC-DC", "ANLOG"
menu2.js // menuItems for "DIGITAL", "WinXP"
menu3.js // menuItems for "MS-Word", "MS-Excel"
In these menu files you should write
menuItems = [
...
];
dm_init();
Then you should install your menu in the following way
<script type="text/javascript" src="param.js"></script>
<table>
...
<script type="text/javascript" src="menu1.js"></script>
...
<script type="text/javascript" src="menu2.js"></script>
...
<script type="text/javascript" src="menu3.js"></script>
But it will be easier to use vertical menu in such case
var isHorizontal=0;
var smColumns=1;
2) You can also try to add some code, see the attached example.
In the first file (@MY books (Multiple Col.js) I write menuItems for the first item "AC-DC".
Notice that you should delete comma at the end of the last item
var menuItems = [
["AC-DC","", , , , , , , , ],
["|@Book1","testlink.htm", , , , , , , , ],
...
["|@Book3","", , , , , , , , ],
["||CH02","", , , , , , , , ],
["||CH01","", , , , , , , , ] // delete comma at the end of the last item
];
In the second file (@MY books (1.js) you should write
menuItems = menuItems.concat(
[
["ANLOG","", , , , , , , , ],
["|@Book1","", , , , , , , , ],
["|@Book2","", , , , , , , , ],
["|@Book3","", , , , , , , , ] // delete comma at the end of the last item
]
);
In the third file (@MY books (2.js) you should write
menuItems = menuItems.concat(
[
["DIGITAL","", , , , , , , , ],
["|Item 1332","", , , , , , , , ],
["WinXP","", , , , , , , , ],
["|Item 1333","", , , , , , , , ],
["MS-Word","", , , , , , , , ],
["|Item 1334","", , , , , , , , ],
["MS-Excel","", , , , , , , , ],
["|Item 1335","", , , , , , , , ] // delete comma at the end of the last item
]
);
dm_init();
Notice that you should write dm_init(); function in the last file.
In the .html file you should write
...
<tr>
<script type="text/javascript" src="@MY books (Multiple Col.js"></script>
<script type="text/javascript" src="@MY books (1.js"></script>
<script type="text/javascript" src="@MY books (2.js"></script>
</tr>
I hope you understand me.