Recent Questions
Q: Hello. We need some tech support regarding our deluxe menu.
All of our pages that have the menu code on them are suddenly giving status bar errors that say: "Done, but with errors on page"
When pulling up the error details, the dialog says:
Line: 2
Char: 1
Error: Syntax error
Code: 0
On pages that do not have the menu at all, we're not getting the error.
A: Now you have such code:
<SCRIPT LANGUAGE="" type="text/javascript">
<!--
var dmWorkPath = "menu/";
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</SCRIPT>
So, your menu cannot find var dmWorkPath = "menu/"; parameter on yourpage.
Try to write your code in the following way:
<SCRIPT type="text/javascript"> var dmWorkPath = "menu/";</script>
<SCRIPT LANGUAGE="" type="text/javascript" src="menu/dmenu.js"></SCRIPT>
<!-- (c) 2006, http://deluxe-menu.com -->
Q: With the new version, my body onload function is blocked.
In our application we do something with a body onload function.
It doesn't get called if I use the deluxe-menu. If I remove deluxe-menu js files from html, it works.
Is there a way I can use deluxe-menu and get my onload handler called?
A: Deluxe Menu detects any user's onload events and remember them in the case when you write a such events before dm_init(); call.
Try to delete onload event from <body> and write the following at theend of a page (after dm_init() call):
<script type="text/javascript"> onload = onloadHandler;</script>
That should work.
Q: I still do not understand your answer about the simple java menu arrows, which work in preview, but not on the website. The html is correct.
A: You have
var arrowImageMain=["ss.files/arrow_sub5.gif","ss.files/arrow_sub5.gif"];
in your data js, so the arrows must be here
http://domain/ss.files/arrow_sub5.gif
you arrows is here
http://domain/menu/ss.files/arrow_sub5.gif
You can use
var pathPrefix_img="menu/";
or change paths here
var arrowImageMain=["ss.files/arrow_sub5.gif","ss.files/arrow_sub5.gif"]; --> menu/ss.files/arrow_sub5.gif
Q: I know. I have two menus on the page and I am not using beforeItemImage orafterItemImage for the top menu in javascript (the one you referenced below), but I need it for the second menu. The parameters for that menu are in mainnav_data.js.
Even when I only call dmWorkPath and dmenu.js once, it does not work.
A: See, it is not correctly to use image-based items:
["","", "mainnav_data.files/corpinfo.gif", "mainnav_data.files/corpinfo2.gif", "", "_self", "0", "", "", "", "", ],
and specify beforeItemImage/afterItemImage parameters. They won't work in that case.
You can create such buttons in the following ways:
1) Use image-based menu (images with text).
Create normal and mouse-over state images (with text) for each item:
["","", "mainnav_data.files/corpinfo.gif", "mainnav_data.files/corpinfo2.gif", "", "_self", "", "", "", "", "", ],
["","", "mainnav_data.files/new.gif", "mainnav_data.files/new2.gif", "", "_self", "", "", "", "", "", ],
["","", "mainnav_data.files/xxxxx.gif", "mainnav_data.files/xxxxx2.gif", "", "_self", "", "", "", "", "", ],
2) Use combined background for the menu in javascript items (images without text).
var beforeItemImage = [,]; //left-side image for normal and mouse over state
var itemBackImage = [,]; //background or image for normal and mouse over state
var afterItemImage = [,]; //right-side image for normal and mouse over state
var beforeItemImageW = '';
var afterItemImageW = '';
var beforeItemImageH = '';
var afterItemImageH ='';
But you should create a small images in any Graph Editor, for example:
button_n_back.gif
button_n_left.gif
button_n_right.gif
button_o_back.gif
button_o_left.gif
button_o_right.gif
You cannot use these two methods together!