Recent Questions
Q: I am evaluating De Luxe menu. We perhaps like to become OEM distributor.
But I have a question.
In a website i would like to align 3 menu items to the left of the page and the other items to the right.
The 3 items to the left have a different style. But all have a fixed width.
I tried to define a spacer between the items but this didn't work out.
<script type="text/javascript"
src="/webos_net/dmenu/data.js"></script><script
type="text/javascript">
var menuItems = [
["Website","/webos_net/default2.aspx?site=website",,,"","_top","0"],
["MyNorma","/webos_net/default2.aspx?site=mynorma",,,"","_top","0"],
["BackOffice","/webos_net/default2.aspx?site=portal",,,"","_top","1"],
[" ","/webos_net/default2.aspx",,,"spacer","","2"],
["Zoek","",,,"",'main','3'],
["Stamgegevens","",,,"",'main','3'],
["Repartitie","",,,"",'main','3'],
["Beheer","",,,"",'main','3'],
]
dm_init();
I also defined itemstyles:
var itemStyles = [
//hoofdmenu
["itemWidth=50pt","itemBackImage=/images/topmenu1bg.jpg","fontColor=#444444,#444444"],
//hoofdmenu selected
["itemWidth=50pt","itemBackImage=/images/topmenu1bg.jpg","fontColor=#444444,#444444","itemBorderWidth=2","itemBorderColor=#ff0000,#ff0000"],
//spacer
["itemWidth=100%"],
//default menu
["itemWidth=100pt"],
];
Can you provide a java menu samples which shows left and right alignment of menu items is possible?
A: Unfortunately it is not correctly to write
["itemWidth=100%"],
in Individual Styles. It won't work. You can set the exact width forthis space, for example:
var itemStyles = [
["itemWidth=50pt","itemBackImage=/images/topmenu1bg.jpg,/images/topmenu1bg.jpg", "fontColor=#444444,#444444","showByClick=0"],
["itemWidth=50pt","itemBackImage=/images/topmenu1bg.jpg","fontColor=#444444,#444444", "itemBorderWidth=2","itemBorderColor=#ff0000,#ff0000"],
["itemWidth=220px","itemBackColor=transparent,transparent","itemBorderWidth=0", "itemBorderStyle=none,","showByClick=0"],
["itemWidth=100pt"],
];
var menuStyles = [
];
var menuItems = [
["Website","/webos_net/default2.aspx?site=website", "", "", "", "_top", "0", "", "", "", "", ],
["MyNorma","/webos_net/default2.aspx?site=mynorma", "", "", "", "_top", "0", "", "", "", "", ],
["BackOffice","/webos_net/default2.aspx?site=portal", "", "", "", "_top", "1", "", "", "", "", ],
[" ","", "", "", "spacer", "", "2", "", "", "", "", ],
["Zoek","", "", "", "", "main", "3", "", "", "", "", ],
["Stamgegevens","", "", "", "", "main", "3", "", "", "", "", ],
["Repartitie","", "", "", "", "main", "3", "", "", "", "", ],
["Beheer","", "", "", "", "main", "3", "", "", "", "", ],
];
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.
Q: One other question, how do you get the menu bar to highlight and stay on the page you are viewing rather than highlighting home the whole time.
A: You should 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.
Q: I've been trying to get the menu item in dynamic tree menu to stay highlighted when clicked on and directed to that page.
A: Tree Menu doesn't save a presseditem as it saves a tree state.
It works within 1 page only and if youreload the page you should set a pressed item using Javascript API:
function apyt_ext_setPressedItem(menuInd, itemID)
<script type="text/javascript">
var i = 4 //index of the selected item
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
To expand specific items you should use the following function:
dtreet_ext_expandItem (dtreet_ext_getItemIDByIndex (0, 11), 1);