Recent Questions
Q: I am interested in Deluxe Tabs MAC Style.
However before I do I want to make sure that:
- I can change the buttons pictures on both the first row and the second row. There has to be a <img src=" " > tag in the code somewhere, correct?
- I can expand or diminish the number of buttons and links
- Also, I have a question: if I am on "Mac Tab 1" menu, and I click on "Mac Tab 2" menu without clicking on any of the links onthe second row, what is the page that I see? Do I see by default Link 2_1 or do I see some kind of generic page? In other words is there a "main" page for each tab menu and then you have the other pages which correspond to Link 2_1, Link 2_2, etc.?
- Is it possible to remember a visited sub-menu? For example I am on "Mac Tab 2/Link 2_3" and I go to "Mac Tab 4/Link 4_2" and then I come back to "Mac Tab 2". Can the main page for this "Mac Tab 2" be Link 2_3 which was my last visited link on that tab?
A: 1) No, there is no such tag - <img src=" " >
For the main items you should set such parameters:
bbeforeItemImage - left part of the item
bafterItemImage - right part of the item
bitemBackImage - center part of the item
in normal, mouseover and selected states.
And for the subitems (in MAC template) you should set onlybitemBackImage - the center part of the item.
Please, see the code of this template.
2) You can create any number of the buttons and links.
3) You can set links for main items and for the subitems.
For example:
var bmenuItems =
[
["Mac Tab 1","http://deluxe-menu.com",,,,,,],
["|Link 1_1","http://apycom.com",,,,,,"0"],
["|Link 1_2","testlink.htm",,,,,,"0"],
["|Link 1_3","testlink.htm",,,,,,"0"],
So, if you click on "Mac Tab 1" you will go to http://deluxe-menu.com
And if you write so
["Mac Tab 1","",,,,,,],
no page will open.
4) This Tab menu can save pressed item automatically within1 page only. If you open another page, the menu can't remember presseditem. You should do that manually using Javascript and menu parameters( var bselectedItem, var bselectedSmItem) or using any server-sidescript (php, asp, etc.)
Q: Everything will go fine during setup, until I get further into it, I will get an error. It says error on a line of text that isnt even there. The line of text does not exists. Please let me know how I can correct this issue and get the program running right.
A: See, it is not correct to write " symbols within menuItems:
["||A23 (3" DIAM)","http://www.interlight.biz/products.int?Category=INCANDESCENT&Subcat=A+SHAPE&Dept=A23+%283%22+DIAM%29",
Try to write your last items in the following way:
["||A15 (2" DIAM)","http://www.interlight.biz/products.int?Category=INCANDESCENT&Subcat=A+SHAPE&Dept=A15+%282%22+DIAM%29", "", "", "", "", "", "", "", "", "", ],
["||A19 (2.5" DIAM)","http://www.interlight.biz/products.int?Category=INCANDESCENT&Subcat=A+SHAPE&Dept=A19+%282%2E5%22+DIAMETER%29", "", "", "", "", "", "", "", "", "", ],
["||A21 (2.6" DIAM)","http://www.interlight.biz/products.int?Category=INCANDESCENT&Subcat=A+SHAPE&Dept=A21+%282%2E6%22+DIAM%29", "", "", "", "", "", "", "", "", "", ],
["||A23 (3" DIAM)","http://www.interlight.biz/products.int?Category=INCANDESCENT&Subcat=A+SHAPE&Dept=A23+%283%22+DIAM%29", "", "", "", "", "", "", "", "", "", ],
Q: I now wish to dynamically change the drop down menu in html parameters. For this, I have set the following parameters:
// Dynamic Menu
var dynamic=1;
1.Please send me the reference link for the dynamic menu commands available (for javascript).
2.Now AFTER initialization, dm_init();, I wish to change the default var itemTarget="Sub_Main";
How do I do that??
A: You can find more info about API functions here:
http://deluxe-menu.com/functions-info.html
Unfortunately it is not possible to change drop down menu in html parameters ( var ...)after menu initialization.
So, there is no way to change
var itemTarget="Sub_Main";
But you can change target for each item individually (targetparameter in menuItems) using dm_ext_changeItem function.
var menuItems = [
[text, link, iconNormal, iconOver, tip, target, itemStyleInd, submenuStyleInd, jsFilename],
[text, link, iconNormal, iconOver, tip, target, itemStyleInd, submenuStyleInd, jsFilename],
...
];
Q: Sorry to bother you again, but we've done everything suggested in your fix regarding flash obscuring the multiple drop down menu, but we're still having the same problem in Firefox.
We've - set the parameter in the data file to - var dmObjectsCheck=1;
We've added the following to the start of the data file -
function dm_ext_ruleObjectHide()
{
return false;
}
We've embeded the flash as suggested to -
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
height="150" width="732" name="if-header">
<param name="movie" value="images/flash/if-header.swf">
<param name="quality" value="best">
<param name="play" value="true">
<param name="wmode" value="opaque">
<embed height="150" name="if-header"
pluginspage="http://www.macromedia.com/go/getflashplayer"
src="images/flash/if-header.swf"
type="application/x-shockwave-flash" width="732" quality="best"
wmode="opaque" play="true">
</object>
But still our multiple drop down menu sits behind the flash. Are we missing something else?
A: See it is necessary to have opaque parameters in <object> and <embed>tags to display submenus correctly in Firefox.
So, you should open .js file for your flash and find "embed" and"object" words.
And add opaque parameters, for example:
swfNode = '<embed type="application/x-shockwave-flash" wmode="opaque" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
var params = this.getParams();
for( var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
var pairs = this.getVariablePairs().join("&");
if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
swfNode += '/>';
} else { // PC IE
if (this.getAttribute("doExpressInstall")) {
this.addVariable("MMplayerType", "ActiveX");
this.setAttribute('swf', this.xiSWFPath);
}
swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') + '">';
swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" /> <param name="wmode" value="opaque"> ';
var params = this.getParams();
for( var key in params) {
swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
}