Recent Questions
Q: I was wondering if you could help me. I have recently done a site and put a menu into the site
The basic javascript menu is on the top of the screen but it has lines through each of the menus just after the words and before the arrow on each of them. I have stretched the menu out to cover the whole of the top of the page but i need to get these lines out of the menu.
Can you please help me with this problem?
A: See images in Vista Templates have the fixed width and height (92 x 21):
var itemStyles = [
["itemWidth=92px","itemHeight=21px","itemBackColor=transparent,transparent","itemBorderWidth=0","fontStyle=normal 11pxTahoma","fontColor=#3A3A3A,#000000","itemBackImage=data-vista-2-04.files/btn_olive.gif,data-vista-2-04.files/btn_white.gif"],
];
When items text is too long you can have such effect.
You can try to use combined background for your items, for example:
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
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 got the menu to display across frames, but it displays differently in Firefox & Mozillavs. Internet Explorer. Is that to be expected?
In The Mozilla-based browsers, the submenu butts right upunder the main menu – which is how I want it. In IE, it is about 10 pixels below.
Also, I can’t get the submenus to drop down directly under the main menus – they are offset by about 100 pixels to the right.
A: The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, sosubmenus drop down with an offset.
You should create the following frameset structure:
--|------------
   | menu
--|------------
   |
   | submenus
   |
Now a top row has 2 columns and all browsers can determine awidth of the 1st column in the second row.
Q: Is it possible to have your menu mouseover call one of my functions?
I need to change some text on the screen based on which menu itemis highlighted.
A: Each menu items can include any html code.
So, you can include your own objects with onmouseover event, forexample:
var menuItems = [
["<div onmouseover='yourFunc()'>item text</div>"]
];
Where yourFunc() is Javascript function.