|
Introduction
JSCookMenu (v2.0.4) is a powerful menu script written in JavaScript that can mimic
complex menus found in popular GUI Applications. It is relatively simple
and easy to use. Creating a new theme requires some patience, but rarely does
one has to write one since some good ones are provided.
This website is permanent (as long as I live and pay the bill :-).
Features
- Supports both horizontal and vertical menus.
- Supports relative positioning.
- Supports different menus w/ different themes in the same web page.
- Eases the menu creation process w/ a menu builder.
- Special effects such as sliding and fading in/out is available.
- APIs for JavaScript developers.
All that, for free :D But please remember to keep that copyright and the
license information in the script since I did spend a lot of time writing
it.
It would be greatly appreciated if you can contribute to this project by making
donation$,
reporting browser compatibilities,
reporting bugs /
fixing bugs.
If you need help, please do not email me directly. Post in the
forum instead.
Notes
There are many projects out there using JSCookMenu, and I am NOT
involved in any of them in anyways. Do not bother to send me emails asking questions
on these projects.
If you modify the script for a project for any reasons,
please put a "MODIFIED " notification in the file header. I
received a number of complaints regarding hard coded limitations, apparently
they were all using modified versions. When in doubt, you can always download
the latest version from this site.
IE 7 beta 3 had a serious CSS bug, which has been fixed in the final release of IE7.
What's New
- 2.0.4
-
Fixed the bug that cmEnableItem setting the wrong isDisabled value.
-
Fixed a missing semicolon issue that prevented the script from being compressed.
- 2.0.3
-
Fix an issue with IE6 displaying menu over HTTPS connection.
Thanks to Paul Horton for reporting the bug and testing
possible solutions.
- 2.0.2
-
Minor clean up and some attempts to reduce memory leak in IE.
- 2.0.1
-
Disable iframe masking for IE7 since it is no longer necessary.
- 2.0
-
improves the way handling flash/iframe/select boxes in IE
and firefox and Opera 9. Hiding these elements is no
longer necessary. For older versions of Opera, flash/iframe
still need to be hidden.
-
Improves cmDrawFromText (). Also allows custom actions.
-
Improves clickOpen behavior. Now once a submenu is opened,
opening other sub menus no longer requires clicking.
-
Special Effects. This version has hooks that allow people
to install special effects to various themes.
-
For a given menu item, cmGetMenuitem(item) provides the ability
to find the corresponding DOM element.
-
Disable API. If you know which item to disable, you can call
cmDisableItem(item, themePrefix) and cmEnableItem(item, themePrefix).
However, you will have to provide your own CSS for the item.
For purposes other than to disable an item,
cmGetMenuItem (item)
is provided for locating HTML DOM element of the menu item in concern.
-
Better z-index. Now you can specify in the theme property the
starting z-index and incremental step for submenus.
-
Allow themes to insert additional elements before and after
the sub menu table.
-
Improved themes. More organized and easier to customize.
-
Add a flag to control hiding/nohiding objects/iframes. By default,
only Opera before 9 hides objects.
-
Add new property options to control submenu positions to fine tune
the look.
-
It is no longer necessary to specify the theme name while calling
cmDraw and cmDrawFromText. Currently it still accepts it, but it
will not in the future.
- 1.4.4
-
a quick fix for a bug for _cmSplit checking. reported by
Son Nguyen.
- 1.4.3
-
changed how _cmSplit is handled a bit so that _cmNoClick can work
properly. All splits in predefined themes are changed to use
_cmNoClick instead of _cmNoAction.
- 1.4.2
-
fixed _cmNoClick mouse hoover bug.
-
fixed a statusbar text problem that cause text to disappear when
hoovering mouse within the same menu item.
-
changed the behavior of cmDrawFromText s.t. if the title of the
of a link is empty, the actual url is used as text. To clear
this link information, title needs to be ' '.
- 1.4.1
-
fixed a problem introduced in 1.4 where re-entering a main menu
item which doesn't have a child can disable its hover setting.
Apparently I deleted an extra line of code when I was doing
cleaning up. Reported by David Maliachi and a few others.
- 1.4
-
fixed a minor td cell closure problem. Thanks to Georg Lorenz
<georg@lonux.de> for discovering that.
-
added clickOpen to nodeProperties. See _cmNodeProperties for
description. Basically menus can be opened on click only.
- added an ability to draw menu from an html node instead of a javascript
tree, making this script search bot friendly (I hope?).
- 1.31
-
fix a bug on IE with causes submenus to display at the top
left corner due to doctype. The fix was provided by
Burton Strauss <Burton@ntopsupport.com>.
- 1.3
-
automatically realign (left and right) the submenu when
client space is not enough.
-
add _cmNoClick to get rid of menu closing behavior
on the particular menu item, to make it possible for things
such as search box to be inside the menu.
- 1.25
-
fix Safari positioning issue. The problem is that all TR elements are located
at the top left corner. Thus, need to obtain the "virtual"
position of these element could be at.
- 1.24
-
fix window based control hiding bug
thanks to Felix Zaslavskiy <felix@bebinary.com> for the fix.
- 1.23
-
correct a position bug when the container is positioned.
thanks to Andre <anders@netspace.net.au> for narrowing down
the problem.
- 1.22
-
change Array.push (obj) call to Array[length] = obj.
Suggestion from Dick van der Kaaden <dick@netrex.nl> to
make the script compatible with IE 5.0. A number of other
people have also suggested this change.
-
changed theme files a little to add z-index: 100 for sub
menus. This change is necessary for Netscape to avoid
a display problem.
-
some changes to the DOM structure to make this menu working
on Netscape 6.0 (tested). The main reason is that NS6 does
not do absolute positioning with tables. Therefore an extra
div layer must be put around the table.
- 1.21
- fixed a bug that didn't add 'px' as part of coordinates.
JSCookMenu should be XHTML validator friendly now.
- removed unnecessary display attribute and corresponding
theme entry to fix a problem that Netscape sometimes
render Office theme incorrectly
- 1.2
- fixed the problem of showing status in Netscape
- changed the handler parameters a bit to allow
string literals to be passed to javascript based
links
- having null in target field would cause the link
to be opened in the current window, but this behavior
could change in the future releases
also, added Menu Builder to ease the menu
building process.
- 1.11
fixed the problem of not showing status in Netscape.
- 1.1
In IE, hide controls such as <select> when they overlap w/ the sub menu.
The reason is that IE use window based controls and thus z-index cannot affect
them.
- 1.01
generated XHTML code to produce better behaved menus. Animation possible.
- 1.0
the first public release.
|
|