Recent Questions
Q: I have configured the Deluxe Tabs menu for the purpose that this menu will form the basis of a website's navigation, once clicked a tab it will take you to the appropriate page.
However one problem I have faced is that menu, regardless of current webpage will display the same active/ selected menu item, having looked in the menu parameters I know that the following set the positions of the selected tab :
* var bselectedItem=0;
* var bselectedSmItem=0;
Is there anyway of selecting the dhtml tab menu index location according to what webpage you are on? On your website it shows an example of a PHP server-side script, however is there an example of this in ASP ?
A: No, unfortunately we don't have such examples in ASP.
Deluxe Tabs doesn't support API functions which can return theselected tab also.
You can set "bselectedItem" and " var bselectedSmItem" parametersbased on your link before you call your data file.
For example, move " var 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>Q: Is there a javascript API for the expandable menu tree to fire an user click event so the browser will load proper page accordingly? I looked around the current APIs from your site and could not find one.
Please advise.
A: You can use dtreet_ext_userClick (itemID) function.
See more info:
http://deluxe-tree.com/functions-info.html
Actually you can use your own Javascript code instead standard links and html code inside item text. For example:
var tmenuItems = [
["text", "javascript:your_code_here"]
];
or
var tmenuitems = [
["<div onClick='urlSubstitution(\'transco/sheet.asp?stype=1\')'>Table of Contents</div>", ""]
];
Q: I would like to add the javascript API to a link contained in my website that will have the corresponding item in the deluxe-tree menu act as if it was "clicked".
Presumably I need to add the script (for example) <A HREF="http://deluxe-menu.com/features-info.html" TARGET="_self" "..javascriptHere ..">. Can you give me an example please of what code goes into there.
I presume I use dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion) but where do I get the ????Ind data from and make the javascript call in the above link.
A copy of a working example together with where to get the data , perhaps on your own web pages, would help.
A: Deluxe Tree doesn't save a presseditem as it saves a tree state. It works within 1 page only and if youreload the page you should set a pressed item using Javascript API:
function dtreet_ext_setPressedItem (menuInd, itemID)
<script type="text/javascript">
var i = <?php echo $selitem; ?>;
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
</script>
You should define selitem using server side script.
Q: I am using cross frame menu dropdown. I have three frames: Top, Left and main (middle).
I am using the script and data from your sample file; it works fine. Only problem is submenu is offset to the right. It does not show up exactly down below the top menu.
What could be the problem?
A: Deluxe Menu doesn't work correctly (incorrect submenu position) if youhave complex frame structure.
The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, so submenus drop down with an offset.
You should create, for example, the following frameset structure:
--|------------
| menu
--|------------
|
| submenus
|
Now a top row has 2 columns and all browsers can determine a width of the 1st column in the second row.
You should write init function in the following way in that case:
dm_initFrame("mainframe",1,3,0);