Recent Questions
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: On the home page, when using Opera, and I have a report from a user who viewed the site with Safari, that the home page dhtml select menu did not work, but the subsequent pages did. I have no problem when using Internet Explorer, and I have not yet tested the site with Firefox. Do you have an idea what may be causing this behavior, and how to fix it?
A: Try to add the following style to your TD tag.
<TD id=navborder vAlign=top width=200 style="z-index: 10; position: relative;">
Q: I am able to create the simple navigation bar but can't seem to get it to work in Yahoo SiteBuilder.
A: Deluxe Menu wasn't developed as Yahoo SiteBuilder/Dreamweaver/Frontpage extension
and wedon't have plug-ins for it.
To install the menu into your html page:
1. create and save .js file with your menu parameters in Deluxe Tuner
(you can use "File/Save as/HTML" function).
You can enter any name you like, for example enter "menu".
So you'llhave menu.html, menu.js files and "menu.files" folder with all menu files.
2. open your .html page in Dreamweaver
3. Copy generated menu.js file and "menu.files/" folder in the same folderwith your index.html page.
4. Open generated menu.html in any text editor and copy several rows of code (<script> tags),
For info see:http://deluxe-menu.com/installation-info.html
<head>
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript" src="menu.files/dmenu.js"></script>
</head>
<body>
...
<script type="text/javascript" src="menu.js"></script>
...
</body>
That's all.
Q: I have an HTML application with 4 iframes. The main html file contains 3 iframes (top toolbar, left toolbar, and main area) and the menu. The main area iframe contains one additional iframe were the actual data is. When I interact with the data in this last iframe and try to dynamically change the menu in the .html file I get the error message: 'm' is null or not an object
The API call is:
dm_ext_addItem(0, 0, ["test1", "testlink.htm", "", "", "test1m", "_blank", "1"]);
I only have one menu.
I am using IE6
I included these files in both the hta file and the iframe source file.
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<script type="text/javascript" src="./data.files/dmenu_dyn.js"></script>
<script type="text/javascript" src="./data.files/dmenu_key.js"></script>
A: Deluxe Menu doesn't work with <IFrame> objects. It works with<frameset> objects only. All it can to do with <IFrame> is to loadpages into it.
You should use standard installation for the menu (cross-frame mode).
See more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html
http://deluxe-menu.com/data-samples/cross-frame-horizontal-1-sample.htm
There is no need to call dmenu_...js files.
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<script type="text/javascript" src="./data.files/dmenu_dyn.js"></script>
<script type="text/javascript" src="./data.files/dmenu_key.js"></script>
You should write:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "./data.files/";</script>
<script type="text/javascript" src="./data.files/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->