Recent Questions
Q: I used the drop menu creator to create a simple tab example, and I created a simple HTML file to display the tabs. It initially appears fine when the page first displays (e.g., the correct div is hidden), but when I *first* click on a tab I always get a javascript error deep in the .js code. Then I click around a bit between the tabs and get some display problems (no more javascript errors though), until finally the show/hide logic recovers and all looks ok.
The error I initially get is something like “tabs[…].id is not an object”. I have the IE7 debugger turned on, otherwise I might not ever see this error.
FYI, I tried your example menus on your web site and everything is fine! Maybe the .js files on your web site are not the same as those created by the generator?
A: You should set the following parameter in drop menu creator:
var bselectedSmItem=0;
Q: I have small problems with your javascript menu system.
#1. I am creating a multi-level menu, am I limited to a gird format or can every item have a variable column width?
#2. With submenus, I want to have the submenu be the same width as the parent cell, is there a simple command for this, or do I have to guess the column widths until it fits correctly?
#3. In those same submenus, I have items that are longer than the parent, is there a word wrap or a way to define a break, rather than having the scroll feature?
A: 1) You should use Individual Item Styles.
For example:
var itemStyles = [
["itemWidth=120","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#ACF88B,#ACF88B","itemBorderColor=#329309,#329309"], //style0
["itemWidth=100","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#FFFFFF,#FFFFFF","itemBorderColor=#1B92E9,#1B92E9"], //style1
["itemWidth=130","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#FF9684,#FF9684","itemBorderColor=#EC7575,#EC7575"], //style2
["itemWidth=150","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#84F9FF,#84F9FF","itemBorderColor=#00B8C1,#00B8C1"], //style3
];
var menuStyles = [
["smColumns=2"], //style0
];
["Home","testlink.htm"],
["Samples","testlink.htm"],
["|Group 1","", , , , , "0", , , ],
["|Group 2","", , , , , "1", , , ],
["|Group 3","", , , , , "2", , , ],
...
[" More Samples","testlink.htm"],
["|Group 1","", , , , , "3", "0", , ],
["|Group 2","", , , , , "1", , , ],
Where "0", "1", "2", "3" - style number in itemStyles.
2) You can also use Individual Item Styles.
var itemStyles = [
["itemWidth=120px"],
];
var menuStyles = [
["smWidth=120px"],
];
["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", , , "0", , , ], // itemStyles
["|Features","testlink.html", "default.files/icon2.gif", "default.files/icon2o.gif", , , , "0", , ],
["|Installation","", "default.files/icon2.gif", "default.files/icon2o.gif", , , , , , ], // menuStyles
3) Try to set this parameter:
var noWrap=0;
Q: The only remaining problem I see is that the html popup menu appears in slightly different positions depending upon where your mouse touches the icon.
Is there a way to make the menu position absolute in respect to the icon? I have tried playing with the menu item parameters that seemed related with no success.
A: See dm_popup() function parameters:
return dm_popup(menuInd, pause, event, x, y)
menuInd - index of the menu on a page, >= 0.
pause - determines the time when the html popup menu will be hidden.
event - constant. Do not change.
x, y - optional. Set these parameters if you want the menu to appear in the specified place.
In other case the menu will be shown in the mouse position.
Q: Is there any luck with getting your popup menusto work with the dynamic drive script..?
A: Unfortunately we don't work with dynamic drive script.
But I suppose that you can use it with Deluxe Menu without any problems.
But in that case you should move menuItems and dm_init(); function from your data file tothe html page directly.
For example delete the following code from your data file
var menuItems = [
["Aston Martin Page","javascript:ajaxpage('ajaxfiles/external3.htm', 'rightcolumn');\"", "", "", "", "", "", "", "", "", "", ],
];
dm_init();
and paste it in SCRIPT tags on your html page in the place where you want to have a menu:
...
<div>
<script type="text/javascript">
var menuItems = [
["Aston Martin Page","javascript:ajaxpage('ajaxfiles/external3.htm', 'rightcolumn');\"", "", "", "", "", "", "", "", "", "", ],
];
dm_init();
</script>
</div>