Recent Questions Ajax Tree Menu Tutorial
Q: I am having a problem creating a submenu. I did not get any js errors but nothing happens.
What I have found is that even when I have dynamic=1;
I was getting an error saying object expected so I added the dmenu_dyn.js manually (i.e. <scripttype="text/javascript"src="../../Javascript/menu/dmenu_dyn.js"></script>) but now get no errors but no submenu is created.
Do I have to add all the js files in the menu folder manually as I thought it was just
<scripttype="text/javascript"src="../../Javascript/menu/dmenu.js"></script>
that was needed.
All, I am trying to add a submenu under the challenge topmenu.
function addChallengeItems(){
dm_ext_createSubmenu(0, 0, 3, ['Buy JavaScript Tree Menu Now!', "order-deluxe-menu-purchase.html", "", "", "Buy JavaScript Tree Menu Now!", "_blank"]);
}
And then a href that calls addChallengeItems()
<ahref="javascript:addChallengeItems();">add</a>
A: There is no need to add all engine files into your menu folder.
You can add only
dmenu.js
dmenu_dyn.js
More info about Description of Files you can find here:
http://deluxe-menu.com/description-of-files-info.html
Please delete also the following line from your code
<script type="text/javascript"src="../../Javascript/menu/dmenu_dyn.js"></script>
Try that.
Q: I have small problems with your javascript menu system.
#1. I am creating a multi-level menu, am I limited to a gird format or can every item have a variable column width?
#2. With submenus, I want to have the submenu be the same width as the parent cell, is there a simple command for this, or do I have to guess the column widths until it fits correctly?
#3. In those same submenus, I have items that are longer than the parent, is there a word wrap or a way to define a break, rather than having the scroll feature?
A: 1) You should use Individual Item Styles.
For example:
var itemStyles = [
["itemWidth=120","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#ACF88B,#ACF88B","itemBorderColor=#329309,#329309"], //style0
["itemWidth=100","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#FFFFFF,#FFFFFF","itemBorderColor=#1B92E9,#1B92E9"], //style1
["itemWidth=130","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#FF9684,#FF9684","itemBorderColor=#EC7575,#EC7575"], //style2
["itemWidth=150","itemBorderWidth=1","itemBorderStyle=solid,solid","itemBackColor=#84F9FF,#84F9FF","itemBorderColor=#00B8C1,#00B8C1"], //style3
];
var menuStyles = [
["smColumns=2"], //style0
];
["Home","testlink.htm"],
["Samples","testlink.htm"],
["|Group 1","", , , , , "0", , , ],
["|Group 2","", , , , , "1", , , ],
["|Group 3","", , , , , "2", , , ],
...
[" More Samples","testlink.htm"],
["|Group 1","", , , , , "3", "0", , ],
["|Group 2","", , , , , "1", , , ],
Where "0", "1", "2", "3" - style number in itemStyles.
2) You can also use Individual Item Styles.
var itemStyles = [
["itemWidth=120px"],
];
var menuStyles = [
["smWidth=120px"],
];
["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", , , "0", , , ], // itemStyles
["|Features","testlink.html", "default.files/icon2.gif", "default.files/icon2o.gif", , , , "0", , ],
["|Installation","", "default.files/icon2.gif", "default.files/icon2o.gif", , , , , , ], // menuStyles
3) Try to set this parameter:
var noWrap=0;
Q: Very interested by your product, I want to know, before buy, if I can call javascript function when the user click on a menu Items;
you have this example, but I want the possibility to call a javascript function in the client side :
var menuItems = [
[text, "javascript:alert('Hello, world!')", icon1, icon2],
];
Is it possible, if yes could you give the sample, because Milovic menu have a javascript:function call, what about your product ?
Thank you for the answer.
A: You're able to use Javascript for each item, for example:
var menuitems = [
["item text", "javascript:your_code_here"]
];
Unfortunately, you can't assign onmouseover/onClick event to each item.
However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onClick='your_code_here'>item text</div>", "index.html"]
];
Unfortunately we don't have such example.
Q: I've noticed something strange in the Javascript/DHTML Tree and I am wondering if this is normal.
Here's an example I have in my "data.js" file to populate the javascript ajax tree:
var tmenuItems = [
["Mes alertes/My alerts","", "", "", "", "", "", "0", "", "", ],
["|Francais","", "", "", "", "", "", "", "", "js/AjaxTreeFr.js", ],
["|English","", "", "", "", "", "", "", "", "js/AjaxTreeEn.js", ],
];
Here's basically how it goes:
- Basically the "0" represents a pre-built style that I have set for the root of my tree.
- Under this are the first child of the root called "Francais" and "English" which I link with a JS file to populate (Because the users will customize the alerts they want to see).
This works perfectly fine. But it is a workaround. Let me explain what I wanted in the first place:
var tmenuItems = [
["Mes alertes ","", "", "", "", "", "", "0", "", " js/AjaxTreeFr.js ", ],
["My alerts","", "", "", "", "", "", "", "", "js/AjaxTreeEn.js", ],
];
Basically I wanted to have 1 javascript ajax tree with 2 root items "Mes alertes" and "My alerts" but it seems impossible to attach a js file to the root of the tree view. (It doesn't get populated).
Any ideas?
A: See AJAX feature won't work for first-level in XP style now.
It works if you use:
var tXPStyle=0;