Recent Questions
Q: If I wanted to change the graphics at a later date in tab menu javascript (main top tabs, subtabs, etc.), how would I do that?
A: In that case you should open images I'm using for top tabs in any graph editor and changethem.
back.gif
back_o.gif //back images for normal and hover states for the last tabs in the top menu(instead of the 1-st 6 items)
sep_top.gif // separator for the top items
top1.gif
top1_o.gif //back images for normal and hover states for the 1-st tab, you can change thetext of this tab in deluxe-menu.js:
["<font color='#FFF90E'>MAIN</font><br>Initiative<br>(Strategy)","testlink.html", "", "", "", "", "5", "4", "", "", "", ],
By the way to apply hint for this item you should write:
["<font color='#FFF90E'>MAIN</font><br>Initiative<br>(Strategy)","testlink.html", "", "", "This hint appears when you hover over the 1-st item", "", "5", "4", "", "", "", ],
top2.gif
top2_o.gif //back images for normal and hover states for the 2-nd tab, you can change thetext of this tab in deluxe-menu.js:
["<font color='#FFF90E'>PAIN</font><br>Identified<br>(Problems)","", "", "", "", "", "6", "", "", "", "", ],
and so on...
For the subtabs I'm use images for arrows only:
var arrowWidthSub=8;
var arrowHeightSub=8;
var arrowImageSub=["deluxe-menu.files/arrow.gif","deluxe-menu.files/arrow_o.gif"]
Q: Would it be possible at some point to introduce more font decoration options to the mouseover variables, I would like to add bold as a mouseover font decoration, but obviously this is not possible at the moment.
A: Unfortunately, Deluxe Menu doesn't have such a feature. You can onlyset it's color. You cannot set the font of menu item bold when selected.
You should addthe following code in your data file:
function changeFont(obj, over)
{
obj.style.fontWeight = over ? 'bold' : 'normal';
obj.style.fontSize = over ? '13px' : '12px'; // You can not use this line
}
var menuItems = [
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Security</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Ease of Access</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Internet Options</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Windows Firewall</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Network and Internet</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Hardware</div>","", "", "", "", "", "", "", "", ],
Q: I'm still having the issue with the sub-menus not being in the proper place, however I was able to fix the issue with menu now showing up in IE at all, it turns out I forgot a tag. So do you know why the sub-menu alignment changes depending on the browser window size? Either of the links below should give an example.
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" 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=navholder>
So, you'll have:
<DIV id=navholder style="position:absolute;">
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.