Recent Questions Xmltreeloader Dynamically Generated Data
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: Cross-frame mode/ showByClick=1: I only want this to work on the main level javascript menu bar, not the submenus. Is there anyway to showbyclick only for the main level and then not for the submenus?
A: You can use Individual Item Styles to set showByClick parameter forthe top items only.
var itemStyles = [
["showByClick=1"],
];
Q: How can I setup Font Size, color for individual level, button? How?
A: You should use Individual Item Styles.
var itemStyles = [
["itemBackColor=#B6E025,#769315","fontStyle=bold 10px Bookman Old Style"], //style 0
];
menuItems = [
...
["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", , , , , , ],
["|Features","testlink.html", "default.files/icon2.gif", "default.files/icon2o.gif", , , "0", , , ], //style 0
["|Installation","", "default.files/icon2.gif", "default.files/icon2o.gif", , , "0", , , ], //style 0
...
];
Q: I'm trying out your menus, and I seem to have a problem with changing the title of a menu item. If the text is something like "Create a New Event" the entire menu spreads out and the rollover image starts replicating itself behind it, instead fo stretching with the text. So I see 1 /2 rollover images for that top level item, instead of just the one, width it's width spread out to accomodate the extra text.
I've tried the Styles bit, but that doesn't seem to fix the rollover image any...
Any pointers ?
A: You can try to set the exact width for each menu item using IndividualItem Styles.
You should use Individual Item Styles.
For example:
var itemStyles = [
["itemWidth=120","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style0
["itemWidth=100","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style1
["itemWidth=130","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style2
["itemWidth=150","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style3
];
["Home","testlink.htm"],
["Samples","testlink.htm"],
["|Group 1","", , , , , "0", , , ],
["|Group 2","", , , , , "1", , , ],
["|Group 3","", , , , , "2", , , ],
...
[" More Samples","testlink.htm"],
["|Group 1","", , , , , "3", , , ],
["|Group 2","", , , , , "1", , , ],
Where "0", "1", "2", "3" - style number in itemStyles.
You also should check the width of your rollover image. It should bethe same width as your items.
You can also use
tags in the item text, for example:
var menuItems = [
["line 1
line 2"],
];
Or you can set this parameter:
var noWrap=0;
Try that.