Recent Questions
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: I have another question regarding the popup window. I need to use an iframe within the popup window. Is there any way I can close the dhtml popup from the page loaded within the iframe?
A: You can close the popup using the following function:
document.getElementById('win').hide();
Unfortunately it won't work if you use iframe as window content.
You open another page in the popup (in Iframe) so you cannot accessdocument.getElementById('win').hide();
element which is situated on the first page.
When you use text or object_id as window content the content of the popup will be situatedon the same page so you can access document.getElementById('win') element and hide it.
There is a workaround.
Use text as content type and add the following code inside popup:
<a onclick="document.getElementById('win').hide();">...</a> <iframe></iframe>
Your link will work in that case. Q: In internet explorer the menu appears as expected, in firefox it is shiftedway to the right
The deluxe menu code is all wrapped within < center> < /center> tags
How can this be resolved?
A: Try to specify units in "px", for example:
var menuWidth="700px";
It's necessary to specify exact value for Mozilla browsers. It helpsto position menus correctly.
Q: Is there any way to call a javascript function on mouseover from a menu item for a sub navigation bar?
A: You can use your own javascript functions in the menu items.
You should paste "javascript:some_function()" into item's link field, for example:
var menuItems = [
["text", "javascript:your_function(...)", ...]
];
var menuItems = [
["item text", "javascript:alert('Hello World')", , , , ,]
];
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 = [
["item text
", "index.html"]
];