Recent Questions
Q: I need to know if it is possible to call a JavaScript function from the cool dhtml menu.
I have read the FAQ and noted where it lists that you can perform an alert call, and that worked on my end as well, but when Iattempted to call a function I created I could not get it torespond.
Is it possible to call a function from your menu?
Could Iget an example?
A: You can write your own functions within menuItems, for example:
["|Real-Time Data Query","javascript:window.open('http://www.domain.org/','_blank','height=758,width=1024,status=yes,toolbar=no,menubar=no,location=no');"
,,,'Query real time water quality data' ,'' , '', '', ,],
Q: Where can I give the body of the javascript method which I use in cool dhtml menu?
A: You can define functions after menuItems, before you call dm_init();function.
var menuItems = [
["text", "javascript:your_function(...)", ...]
];
Where your_function(...):
function your_function(...)
{
.....
}
Q: I created a custom error page for a site, but the menu would not display.
I found that this was due to the erroneous "current directory" in the bad link test, for a non-existent directory.
which is: level2/level3/
I changed the script code from:
<script type="text/javascript"> var dmWorkPath = "DMworkfiles/";</script>
<script type="text/javascript" src="DMworkfiles/dmenu.js"></script>
to:
<script type="text/javascript"> var dmWorkPath = "DMworkfiles/";</script>
<script type="text/javascript" src="/DMworkfiles/dmenu.js"></script>
adding the "/" before "DMworkfiles/dmenu.js" source reference allowed the .js file to be found in the root directory and the menu would display.
The problem is that the little menu "expansion" arrow .gif cannot be found in the "current working directory" of level2/level3/. just little "blanks" show.
I tried changing:
var dmWorkPath = "DMworkfiles/";
to:
var dmWorkPath = "/DMworkfiles/";
but that did not enable the display of the arrows.
I also had to prefix all of the links in the menu with a "/" to indicate the root directory because of the "current directory" for the bad page.
I hope I have explained the problem sufficiently.
What am I doing wrong or missing here?
A: You can use additional parameters to make menu paths absolute:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
These parameters allow to make images and links paths absolute.
For example:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
var menuItems = [
["text", "index.html", "icon1.gif", "icon2.gif"],
];
So, link path will be look so:
http://domain.com/pages/index.html
Images paths will be look so:
http://domain.com/images/icon1.gif
http://domain.com/images/icon2.gif
Please, try to use these parameters
Q: Is there a different type of menu, other than the way I have it set up, such as the tree type, that might load faster or take up less space when the page loads?
A: You should set
var dmAJAX=1;
create .js files with your submenus and call this files from your mainfile, for example:
var menuItems = [
["Home","testlink.htm"],
["Product Info","", , , , , , , "data-samples/data-ajax2.js", ],
["Samples","", , , , , , , "data-samples/data-ajax3.js", ],
["Purchase","testlink.htm"],
["Contact Us","testlink.htm"],
];
/*** data-ajax2.js ****/
var menuItems = [
["Features","testlink.htm"],
["Installation",""],
["Parameters Info","testlink.htm"],
["Dynamic Functions","testlink.htm"],
["Supported Browsers",""],
];
Add dmenu_ajax.js file in the same folder with your dmenu.js file.
Try that.