Recent Questions
Q: I am testing out your menu system as I try to redesign my site. It is a vertical menu with submenus.
I have hundreds of pages in my site and I'd like to be able to attach your menu system to all of them.
However, I will be making changes to the menu system on a regular basis.
I do not want to go change every program in the site each time I need to make a menu change.
I was hoping you could give me some kind of programming code that I could enter into the <body> section of my html files which would automatically read a file into my prograrm, which contained the menu code.
This way when a menu change is needed, I edit one file, all the programs read that file and display the menu.
As an example of the code I would want read into a webpage at start up:
<script type="text/javascript"> var dmWorkPath="files/";</script>
<script type="text/javascript" src="files/dmenu.js"></script>
<div id="dmlinks" style="font:bold 9px Verdana;color:#FFFFFF;text-decoration:none">
<a id="dmI0" HREF="500main.htm">Home</a>
<a id="dmI2" HREF="tixbbs.htm" TARGET="text">For Sale</a>
<a id="dmI4" href="testlink.html">Place Ad</a>
<a id="dmI5" href="testlink.html">Sources</a>
</div>
<script type="text/javascript" src="data-deluxe-menu.js"></script>
A: If you change the menu parameters only there is no need to change code on each page. You should only replace your old data file (data-deluxe-menu.js) with the new one.
If you don't want to install your menu on each page, you can try to use frames, the menu has a cross-frame mode.
Please, see more info about cross-frame mode here:
http://deluxe-menu.com/cross-frame-mode-sample.html
Also you can use a server-side script (php, asp, vb, etc.) to generate html pages from templates on your server.
Q: I created a test page with your product. I have a frame page consisting of a header and content.
The drop down menus are in the header and cross nicely into the content frame when they drop down. This part is working as planned! The first time I open the test page in my browser any link in any drop down menu will work the first time just fine.
Then, if I pick another link in any drop down menu, it appends the address of the first link to the address of the second link and the URL fails.
It is acting like it writes the url for the first link into some variable, then forgets to null it on select, and then appends the url for the second link to the variable. As I click links in different drop down menus it keeps doing this append feature until I have a very long worthless URL path. If I close the browser and start over then the first thing I click on will work properly, but that is all that will work.
I tried this test page on two different PCs, just in case there was a problem on my browsers. MS IE.6.0
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: How do I add padding around a top item in the javascript menu buttons?
A: You should specify itemPadding parameter in "px".
You shouldadd "px" in your style for subitems:
var menuStyles = [
["menuBackColor=#F2F3F2","menuBorderWidth=0","itemSpacing=1","itemPadding=4px","smOrientation=undefined"],
];
Notice also that you can set multiple value for itemPadding parameter,for example:
itemPadding=4px 10px 4px 10px// top right bottom left
Q: Can I use javascript to get the object (getElementByID). If not howdo I hide my dropdown menu on print?
A: You can add a new button to print your page and call onClick event, soyou should write:
<body ....
onClick="document.getElementById('dm0m0').style.visibility='hidden'; window.print();">
...
</body>
Or you can use the same javascript code from your menu item.
For example:
var menuItems = [
["Print", "javascript:document.getElementById('dm0m0').style.visibility='hidden';
window.print();", icon1, icon2],
];
But if you want to hide the menu when your customers push "File/Print"you should write so:
You must create two functions, for example:
function myprint()
{ document.getElementById('dm0m0').style.visibility='hidden';
window.print();
}
function myprint2()
{ document.getElementById('dm0m0').style.visibility='visible';
window.print();
}
You should add this functions into your code.
And then you must write so:
window.onbeforeprint = myprint;
window.onafterprint = myprint2;