Recent Questions Javascript Framework Prototype Tree Menu
Q: I need to be able to highlight the selected menu en dhtml item of the JavaScript Tree Menu.
A: JavaScript Tree Menu has only two states normal and mouseover.
Try to do the following things:
- delete var pressedItem=1; parameter from your menu en dhtml data file
- set correct parameter on each page before you call data file, forexample:
<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>
<script type="text/javascript"> var pressedItem=3;</script>
...
<script type="text/javascript" src="menudir/data.js"></script>
You can also 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 noticed your excellent smart scroll menu and have a question about it; I notice that it renders the menu from a javascript array - is it possible to make the menu run on an HTML unordered list? The reason being that it's much better for SEO if the dhtml side menu links are actually in the HTML rather than in a huge javascript variable.
A: No, it is not possible. JavaScript Tree Menu is javascript menu.
You can generate search engine friendly code and install it on yourpage.
JavaScript Tree Menu is a search engine friendly menu since v1.12.
To create a search engine friendly menu you should add additional html code within your html page:
<div id="dmlinks">
<a href="http://deluxe-menu.com">menu_item_text1</a>
<a href="http://deluxe-tree.com">menu_item_text2</a>
...etc.
</div>
To generate such a code use Deluxe Tuner application.
Run Tuner, load your menu and click Tools/Generate SE-friendly Code (F3).Q: Can you provide an example of how to dynamically change the menu items at runtime for the dropdown menus?
(asp is fine, but if it needs to javascript that is also ok)
A: 1) You can use API functions to affect items dynamically:
http://deluxe-menu.com/functions-info.html
2)Generate your menu items dynamically from database.
Unfortunately we don't have working example with ASP.
You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.
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" src="menudir/dmenu.js"></script>
<!-- (c) 2008, 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.)
];
</script>
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html
Q: I have a problem. How can we get the value of a parameter passed by the menu, when a menu item is clicked? For example I want to get the URL or file name to be open by the menu item when it is clicked.
I am talking about TREE menu.
A: If you want to open url or a file when you click on items of the tree menu you can write, for example:
var tmenuItems = [
["+DHTML Menus","http://dhtml-menu.com", "images/xpicon1.gif", , , "DHTML Menus", , "0", , , , ],
["|Save as...", "javascript:OpenFile('file_name')"]
];