Recent Questions Jquery Animated Tree
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: Typically in order to generate a menu with multiple layers I’d put a pipe character in front of the menu text.. For example:
["|Page Admin","/admin/handoutadmin.php", , , , "_new", , , , ],
["||Student Pages","/admin/handoutadmin.php?type=1", , , , "_new", , , , ],
["||Teacher Pages","/admin/handoutadmin.php?type=2", , , , "_new", , , , ],
["||Family Letters","/admin/handoutadmin.php?type=4", , , , "_new", , , , ],
["||Transparencies","/admin/handoutadmin.php?type=3", , , , "_new", , , , ],
However, when I try to do it with dm_ext_addItem it actually SHOWS the pipe character and doesn’t create any menu levels at all.
For example:
dm_ext_addItem(0, 0, ["Add a Handout to this Lesson", "", "", "", "", "", ""]);
dm_ext_addItem(0, 0, ["|Student Page","/admin/handoutadmin.php?type=$type", "", "", "", "_new", ""]);
dm_ext_addItem(0, 0, ["|Teacher Page","/admin/handoutadmin.php?type=$type", "", "", "", "_new", ""]);
How can I generate multiple levels of the menu with javascript?
A: I suppose that your code is not valid
dm_ext_addItem(0, 0, ["|Teacher Page", "/admin/handoutadmin.php?type=$type", "", "", "", "_new", ""]);
Try to write it in the following way:
dm_ext_addItem(0, 0, ["|Teacher Page", "/admin/handoutadmin.php?type=", "", "", "", "_new", ""]);
Q: I have just 2 more questions.
1. Can the 3rd level be configured to be a javascript vertical menu?
2. Can your menu be configured per the following spec? Once you click on a 3rd level option that level would disappear & the 1st & 2nd level would be breadcrumbed (stay visible to show you where you are).
A: 1) Yes you can do it. Use smOrientation parameter in IndividualSubmenu Styles:
var menuStyles = [
["smOrientation=0"], //id=0
];
Assign it to the first item in third submenu:
["Home","testlink.html", "", "", "", "", "", "", "", "", "", ],
["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", "", "", "", "", "", "", "", ],
["|Features","testlink.html", "default.files/icon2.gif", "default.files/icon2o.gif", "", "", "", "", "", "", "", ],
["|Installation","", "default.files/icon2.gif", "default.files/icon2o.gif", "", "", "", "", "", "", "", ],
["||Description of Files","testlink.html", "default.files/icon6.gif", "default.files/icon6o.gif", "", "", "", "0", "", "", "", ],
2) No, it is not possible now. Your 3rd level submenu will be visible too.
Q: When using javascript tabbed menu, where do I place the text content related to the selected tab, (the text presented on the rest of the screen under the tab)? And who do I connect a specfic text to a certain tab?
A: See, for each item you should assign the ID property of the contentDIV (see data file with your menu parameters). You should set var tabMode=0;
["Style Name","contentName", "", "", "", "", "1", "", "", ],
["-","", "", "", "", "", "0", "", "", ],
["Style Description","contentDescription", "", "", "", "", "", "", "", ],
["-","", "", "", "", "", "0", "", "", ],
["Style Variations","contentVariations", "", "", "", "", "", "", "", ],
["-","", "", "", "", "", "0", "", "", ],
["Empty","", "", "", "", "", "2", "", "", ],
And on your html page you should create DIV's with such ID. You canset background image for these DIV's in styles.
<div id="contentName" style="height: 0%; visibility: hidden; background-image: url('img/back.jpg'); background-repeat:repeat-y;" class="tabPage">
<br><br><br>
<p align=center><img src="img/style01_title.gif" width=140 height=90 alt="Glass Style Tabs"></p>
<br><br><br>
You should paste content of javascript tabbed menu here!!!!!
</div>
<div id="contentDescription" style="height: 0%; visibility: hidden;" class="tabPage">
<br><br><br>
<p align=center><img src="img/style01_title.gif" width=140 height=90 alt="Glass Style Tabs"></p>
<br><br><br>
You should paste your description here!!!!!
</div>