Recent Questions Html Tree Menu From Local Files
Q: I'm trying to evaluate the possiblity of using your menu in our product. Can we specify our own onclick event handler for the menu item?
A: You're able to use Javascript for each item, for example:
var menuitems = [
["item text", "javascript:your_code_here"]
];
Unfortunately, you can't assign onmouseover/onClick event to each item.
However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onClick='your_code_here'>item text</div>", "index.html"]
];
Q: When I stay on one page (for example "Home") аlso must have the menu-point "home" another color or font. How can I make this?
A: You should set pressed item.
Please, check the following parameter
var pressedItem=-2;
This parameter sets an index of an item that will be highlighted by default.
-2 - the toggle mode is disabled;
-1 - the toggle mode is enabled, but no items highlighted by default;
0,1,2,3,... - index of highlighted item in a top-menu.
JavaScript Tree Menu v2.4 has only two states normal and mouseover. Now we'repreparing new version of JavaScript Tree Menu. It saves it state after thereloading of the page. We're planing to release a new version during a month.
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 now have the need to introduce separators on the menu.
Can you tell me how to do that?
I cannot find any documentation telling me how this is done.
A: Please, see the following parameters:
//--- Separators
var separatorImage=""; //for subitems
var separatorWidth="5";
var separatorHeight="100%";
var separatorAlignment="right";
var separatorVImage="images/public/separator.gif"; //for the top items
var separatorVWidth="3";
var separatorVHeight="100%";
var separatorPadding="";
You should set a separator in the menuItems, for example:
var menuItems = [
["Home","index.cfm", , , , , , , , ],
["-"],
["About Us","about.cfm", , , , , , , , ],
];
Try that.
Q: Can your menu, when placed in a master page, be propagated throughout an application's sub-folders
or will the html menu need to be added to each page separately?
A: If you don't want to create your menu on each page you can use a
server-side script (php, asp, vb, etc.) to generate html pages from
templates on your server.
However, these scripts don't work inside of Javascript .js files, so,
you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- JavaScript Tree Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html
You can use cross frame menu. It allows you to build full-featured menus on the pages
that use frame-based structure. And it's not necessary to insert any code into all the pages -
just specify the additional parameters of the menu and initialize it.
To install the menu in a cross-frame mode, see more info here:
http://www.deluxe-menu.com/cross-frame-mode-sample.html