Recent Questions Javascript Multilevel Treemenu Category Builder
Q: The problem that I am still experiencing (Im sure I have missed something obvious!) - is that all the pages open when you click on the relevant links but they always open with the "About Us" tab showing and then as soon as you click on a different tab you see it highlight for a second and then it just reverts back to the About Us tab even though the page has changed. As the site opens I obviously want the first tab to be highlighted as opposed to the 2nd one and the each page highlights and holds as you go through the menu.
A: See, you set
var bselectedItem=2;
That is why "About us" tab is selected.
You should change the selected tab depending on the page you are now.
This Tabs 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) or using any server-side script (php, asp, etc.)
Deluxe Tabs doesn't support API functions which can return theselected tab.
If your site is written on PHP you can set "bselectedItem" parameter based on your link beforeyou call tabs-kasper.js file.
For example, move "bselectedItem" parameter from tabs-kasper.js file to yourcode.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
</script>
<SCRIPT src="tabs-kasper.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs using server side script.
You can also set on every page before you call tabs-kasper.js file(for example, for solution tab).
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
</script>
<SCRIPT src="tabs-kasper.js" type=text/javascript></SCRIPT>
</TD>
Try that.
Q: How do I highlight the current tab in a hover tab menu?
A: This Tabs 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 and var var bselectedSmItem) or using any server-side script (php, asp, etc.)
Deluxe Tabs doesn't support API functions which can return theselected tab.
If your site is written on PHP you can set "bselectedItem" and "varbselectedSmItem" parameters based on your link beforeyou call your data file.
For example, move "bselectedItem" and " var bselectedSmItem" parametersfrom your data file to your code.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
var bselectedSmItem=<?php echo $selsmtabs; ?>;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs and selsmtabs using server side script.
You can also set it on every page before you call data.js file, forexample:
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
var bselectedSmItem=3;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
Try that.
Q: There is one other issue I am hoping you can help with? When the dhtml web menu drops down in Safari over a SWF -- it disappears. I have added the function dm_ext_ruleObjectHide() code to the top of my data file. Can you please advise what else I can try?
A: Submenu couldn't overlap flash in Safari correctly.
And the following code:
// Safari detect
if ((parseInt(navigator.productSub)>=20020000) &&(navigator.vendor.indexOf('Apple Computer') != -1) &&(navigator.product=='Gecko'))
return true;
in function
function dm_ext_ruleObjectHide()
{
// Safari detect
if ((parseInt(navigator.productSub)>=20020000) &&(navigator.vendor.indexOf('Apple Computer') != -1) &&(navigator.product=='Gecko'))
return true;
else
return false;
}
cause flash to disappear in Safari.
You can try to write this function in the following way:
function dm_ext_ruleObjectHide()
{
return false;
}
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;