Recent Questions
Q: I am conisdering purchasing your menu generator product, however I have a question that is very important to me.
How can I add a separator to the dhtml menu examples using the dynamic functions? It seems as though the only way to get a separator into the menu is by defining it before hand, but the website I'm building will require me to reload the menus dinamically, and I'm losing the ability to put separators on it.
If there's a workaround for it, or if there's a chance that you can give me a prototype function that exposes that functionality, that would be acceptable as well.
A: You should add items using the following function:
function dm_ext_addItem (menuInd, submenuInd, iParams)
or
function dm_ext_addItemPos (menuInd, submenuInd, iParams, Pos)
Find more info:
http://deluxe-menu.com/functions-info.html
Set the following parameter:
var dm_writeAll=1;
So, you should write:
dm_ext_addItem(0, 4, ["|-", "", "", "", "", "", "", ])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 am in the final stages of testing and need some advice and help.
I have two problems I am trying to address.
1) Arrows on dropdown menu select.
2) Load time.
Please notice, I have to use absolute paths for the dropdown menu select to work.
1) I can't get the arrows to show, so I tried to add the code for images in the first bold sentence below.
2) I tried to add the second line for absolute paths for links to increase load time in the second bold sentence. It appears that the load time is increased by about 3 seconds and that the menu is the last to load, even though I have tried to have this as the first html to load.
Neither one of my commands appear to work.
This site has over 10,000,000 items on it, and I can't wait to get this up and running. Your program is the perfect solution for anybody with a website.
A: 1) Now you have:
var arrowImageMain=["mainmenu.files/arrv_blue_2.gif","mainmenu.files/arrv_white_2.gif"];
var arrowImageSub=["mainmenu.files/arr_blue_2.gif","mainmenu.files/arr_white_2.gif"];
You should set your arrows in the following way:
var arrowImageMain=["arrv_blue_2.gif","arrv_white_2.gif"];
var arrowImageSub=["arr_blue_2.gif","arr_white_2.gif"];
2) Your menu is very large. I advise you to us AJAX like technology.
http://deluxe-menu.com/ajax-technology-menu-sample.html
You can also try the following things:
move all <script> calls into <head>, but delete dm_init() function from mainmenu.js file -- move them instead offiles calls, i.e.:
<head>
<script src=mainmenu.js>
...
</head>
...
<div><script>dm_init();</script></div>
It this case data will be loaded when <head> will load, but after thatdropdown menu select must be shown quickly.
Let me know about results.
Q: However, when I place it inside a CSS-defined div element (for absolute page placement) the submenu's all drop down a couple hundred pixels.
A: See, the problem is that the script can't get css properties of the object if they are described in separate .css block (or file).In other words, you can't get the value of "POSITION: absolute" attribute of the object if the object doesn't have this property within inline style (style="POSITION:absolute;"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
You should add style="POSITION: absolute;"
to the
<div id="menu">
So, you'll have:
<DIV id="menu" style="POSITION: absolute;">
Try that.