Recent Questions Visual Effects With Treeitem Silverlight
Q: I will build menu for several books’ Contents, each book is more than 100 lines and has links. I think if all the books’ contents in 1 *.JS file then it is TOO LOONG!!.
Can I break it down to 1 book for 1*.JS ? How?
A: You cannot divide your menuItems parameter.
You can only use one .js file for your menu parameters and the other.js file for your menuItems = [...];
But you can do it in two ways.
1) You can try to use several menus on the one page, for example:
param.js // file with menu parameters (all parameters before menuItems = [...];)
menu1.js // menuItems for "AC-DC", "ANLOG"
menu2.js // menuItems for "DIGITAL", "WinXP"
menu3.js // menuItems for "MS-Word", "MS-Excel"
In these menu files you should write
menuItems = [
...
];
dm_init();
Then you should install your menu in the following way
<script type="text/javascript" src="param.js"></script>
<table>
...
<script type="text/javascript" src="menu1.js"></script>
...
<script type="text/javascript" src="menu2.js"></script>
...
<script type="text/javascript" src="menu3.js"></script>
But it will be easier to use vertical menu in such case
var isHorizontal=0;
var smColumns=1;
2) You can also try to add some code, see the attached example.
In the first file (@MY books (Multiple Col.js) I write menuItems for the first item "AC-DC".
Notice that you should delete comma at the end of the last item
var menuItems = [
["AC-DC","", , , , , , , , ],
["|@Book1","testlink.htm", , , , , , , , ],
...
["|@Book3","", , , , , , , , ],
["||CH02","", , , , , , , , ],
["||CH01","", , , , , , , , ] // delete comma at the end of the last item
];
In the second file (@MY books (1.js) you should write
menuItems = menuItems.concat(
[
["ANLOG","", , , , , , , , ],
["|@Book1","", , , , , , , , ],
["|@Book2","", , , , , , , , ],
["|@Book3","", , , , , , , , ] // delete comma at the end of the last item
]
);
In the third file (@MY books (2.js) you should write
menuItems = menuItems.concat(
[
["DIGITAL","", , , , , , , , ],
["|Item 1332","", , , , , , , , ],
["WinXP","", , , , , , , , ],
["|Item 1333","", , , , , , , , ],
["MS-Word","", , , , , , , , ],
["|Item 1334","", , , , , , , , ],
["MS-Excel","", , , , , , , , ],
["|Item 1335","", , , , , , , , ] // delete comma at the end of the last item
]
);
dm_init();
Notice that you should write dm_init(); function in the last file.
In the .html file you should write
...
<tr>
<script type="text/javascript" src="@MY books (Multiple Col.js"></script>
<script type="text/javascript" src="@MY books (1.js"></script>
<script type="text/javascript" src="@MY books (2.js"></script>
</tr>
I hope you understand me.
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: How to open a popup after clicking on a menu item in dhtml image menu.
A: You can write your menuItems in the following way:
["Home","javascript:window.open('http://deluxe-menu.com');window.focus;", "", "", "Home", "", "", "", "", "", "", ],Q: Can you provide an example of how to dynamically change the menu items at runtime for the dropdown menus?
(asp is fine, but if it needs to javascript that is also ok)
A: 1) You can use API functions to affect items dynamically:
http://deluxe-menu.com/functions-info.html
2)Generate your menu items dynamically from database.
Unfortunately we don't have working example with ASP.
You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.
However, these scripts don't work inside of Javascript .js files, so,
you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- JavaScript Tree Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<!-- (c) 2008, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];
</script>
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html