Recent Questions Example Menu Tree Javascript
Q: Is there a way we can add javascript behaviors to the popup menu in java actions? For example, is there a way we can add an onClick function to a popup menu in java item (eg, onClick="return MyFunction( )" ) so that we can catch and process key events?
I'm really hoping there's a way of doing this...
A: Unfortunately, you can't assign onmouseover/onClick/onContextMenu event to each item. However, you can achieve this by using standard html objects within popup menu in java items, for example:
var menuitems = [
["<div onContextMenu='your_code_here'>item text</div>", ""]
];
You can use your own Javascript code instead standard links. For example:
var menuItems = [
["text", "javascript:your_code_here"]
];
Q: I'm confused in how to do this. I want to change the background color of one of the javascript and menu items. If I understand correctly I go to INDIVIDUAL STYLES and should be able to change the background color for one of the menu items there. Under item appearance I tried to change itemBackColor - but I can't seem to make it take affect (I tried clicking OK but its under the Style Names, so thats probably not it.
A: You should click "Edit Individual Styles" button.
On the 'Item Styles' tab click "Add style" button.
Set itemBackColor and click "OK" button.
Select the item you want to change the style for and assign new style for it. Go to Item Parameters window 'Item style' field.
var itemStyles = [
["itemBackColor=#EB2999,#590937"], //style0
];
var menuItems = [
["Home","testlink.html", "", "", "", "", "", "", "", "", "", ],
["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", "", "", "0", "", "", "", "", ], //style0
Q: I am having some difficulty dynamically adding items to a tree javascript and menu.
I have a menu with one "root" item. I see the use of the "+" symbol within the item name. I do not see any documentation regarding this symbol, only "|". Can you explain?
If I have one menu with this one "root" node, how would I add an subitem to this root node?
Here is my code so far, but the inserted items appear to be at the same level as the root node.
var rootItem = dtreet_ext_getItemIDByIndex ( 0,0 );
var menuItem = new Array(10);
for ( var i = 0; i < producers.length; i++ )
{
var producer = producers[ i ];
menuItem[0] = producer.name;
dtreet_ext_insertItem ( 0, 0, i + 1, menuItem );
A: See dtreet_ext_insertItem () function has the following parameters:
function dtreet_ext_insertItem (menuInd, parentItemID, itemInd, itemParams)
Creates a new item and inserts it into a specified position.
menuInd - index of a javascript and menu on a page, >= 0.
parentItemID - ID property of an item.<, >= 0.
itemInd - index of a new item within the javascript and menu, >= 0.
itemParams - item parameters.
Notice that parentItemID is the Id property of the parent item (notindex). If you want to add top items you should set parentItemID=0.
itemInd - you should use this parameter if you want to add item in thespecific place, for example set itemInd=5 if you want to add itembefore the existing item with itemInd=5.
If you set itemInd=null the new item will be added at the end of this submenu and its index will be added automatically.
Q: When I click between tabs, only one tab remains in its active state for a dhtml tab navigation.
Why isn't the tab changing to look "active" to reflect the page that it's on?
Please let me know where this setting is.
A: Deluxe Tabs doesn't support API functions which can return theselected tab.
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>
Try that.