Swmenufree Multiple by Deluxe-Menu.com
Swmenufree Multiple

Menu Screenshots

Swmenufree Multiple Menu Creator

Features

Compatibility              
  • Full cross-browser compatibility including IE, Netscape, Mozilla, Opera, Firefox, Konqueror and Safari on Windows, Mac OS and Linux
  • Menu can be populated from a database using ASP, PHP, etc.
  • Search engine friendly
  • Support for any doctypes
  • Fits for secure sites
  • Section 508 compliant
High Performance
  • AJAX menu loading - loads web menu data from the server "on-the-fly".
  • Commonly loads quicker than other html page elements
  • UL/LI items structure
  • Runs well with an unlimited number of submenus and items
Menu Cross Frame Javascript Source Swmenufree Multiple
Unrivalled Features
  • Scrollable, dragable, floating, right-click menus
  • Keyboard navigation - press Ctrl+F2 to enter the menu
  • Unique Java Script API for altering menu "on-the-fly", without page reloading
  • AJAX technology - loads menu data from the server "on-fly and on-demand".
  • Search feature - add the search area in the menu and type symbols. The found words will be higlighted.
  • Sound support!
Cost Effective
Easy Setup
  • De Luxe Tuner. GUI interface to create your swmenufree multiple menus easily and in no time
  • Sensible menu parameters for manual editing



2.0 Buttons by Web-Buttons.com v3.0.0

Javascript Menu. DHTML Menu.

  • There can be multi level menus - create as many rows or columns of the menu as you want.
  • Use a mouse to drag a menu as a usual window. Also you can construct the menu where each submenu can be "detached" from the main menu (MSOfficeToolbarLike mode).
  • When the page is scrolled the menu remains visible. The DHTML menu can "float" along one or two coordinate axes.

Recent Questions

Q: I would like to know how to put the items for the popup menu on multiple lines (i.e. create a line feed), how do I tell my code to start a new menu item on the NEXT line?

A: There are 2 ways to do that:

1. set

  var noWrap=0;

2. use
tags, for example:

  var menuItems = [
 ["|Here is where <br> I would like
to have a line<br> feed",,"","", "", "", "", "", "", "", "",],
];




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: What can I do to optimize the load time for dhtml rollover
and prevent reloading it from the server with every page reload.

A: You can try to use AJAX technology.

AJAX-like technology: data for submenus can be loaded "on-the-fly" from the server.

New parameter:
  var tajax = 0/1; - disables/enables AJAX-like support

Current syntax for item parameters (  var tmenuItems):
[text, link, iconNormal, iconOver, iconExpanded, tip, target, itemStyleInd, itemXPStyleInd, jsFileName]

Where jsFileName - .js filename on the server with submenu items (  var tmenuItems).



Q: How do I create more space between the menu items?

I have tried adding to the Item Appearance, itemSpacing and itemPadding.


A: You can paste the separator.
Please, see the following parameters:

//------- Separators -------
  var separatorWidth = "10";
  var separatorHeight = "20";
  var separatorAlignment = "center";
  var separatorImage = "C";
  var separatorVWidth = "150";
  var separatorVHeight = "10%";
  var separatorVImage = "image.jpg";

You can create separators using menuItems, for example:

  var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"],
];

You can also use this parameter:

  var itemPadding = "4px";

You can also set multiple values, for example:

  var itemPadding = "2px 15px 5px 5px";

(top, right, bottom, left)