Recent Questions Treeview For Javascript
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: Hello. We need some tech support regarding our deluxe menu.
All of our pages that have the menu code on them are suddenly giving status bar errors that say: "Done, but with errors on page"
When pulling up the error details, the dialog says:
Line: 2
Char: 1
Error: Syntax error
Code: 0
On pages that do not have the menu at all, we're not getting the error.
A: Now you have such code:
<SCRIPT LANGUAGE="" type="text/javascript">
<!--
var dmWorkPath = "menu/";
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</SCRIPT>
So, your menu cannot find var dmWorkPath = "menu/"; parameter on yourpage.
Try to write your code in the following way:
<SCRIPT type="text/javascript"> var dmWorkPath = "menu/";</script>
<SCRIPT LANGUAGE="" type="text/javascript" src="menu/dmenu.js"></SCRIPT>
<!-- (c) 2006, http://deluxe-menu.com -->
Q: The trees I'll be building can be very large and will need to be demand loaded. In other words, I need to add the children *after* the user clicks on the parent.
A: No, unfortunately it is not possible in Javascript/DHTML Tree. Javascript/DHTML Treedoesn't have AJAX feature like JavaScript Tree Menu.
http://deluxe-menu.com/ajax-technology-menu-sample.html
Q: The submenu should look identical to the main menu but it is not allowing this.
Even though parameters are set to 0 it is showing smart scroll and also not showing the sub menus how they should be.
I also notice and error in the templates window view when I am looking at the javascript onmouseover menu.
A: You've set the exact width for your submenus:
var smHeight="21px"; // it is the height of the whole submenu
It is not right.
Try to write:
var smHeight="";
> I also notice and error in the templates window view when I am looking
> at the menu.
Now you have:
var pressedItem="";
It is not correct. Try to set:
var pressedItem="-2";
See the attached example.