Author(s): Joel Birch
Superfish is an enhanced Suckerfish-style menu jQuery plugin that takes an
- Suckerfish-style hover support for IE6. The class added is sfHover by default but can be changed via the options object,
- Timed delay on mouseout to be more forgiving of mouse-piloting errors. Default is 800 milliseconds but can be changed via the options object
- Animation of sub-menu reveal. uses a fade-in by default but can be given a custom object to be used in the first argument of the animate function. The animation speed is also customisable but is set to ?normal? by default
- Keyboard accessibility. Tab through the links and the relevant sub-menus are revealed and hidden as needed
- Supports the hoverIntent plugin. Superfish automatically detects the presence of Brian Cherne?s hoverIntent plugin and uses its advanced hover behaviour for the mouseovers (mouseout delays are handled by Superfish regardless of the presence of hoverIntent). Using this is only an option, but a nice one. The examples on this page are using hoverIntent. If for some reason you want to use hoverIntent on your page for other plugins but do not want Superfish to use it you can set the option disableHI to true.
- Indicates the presence of sub-menus by automatically adding arrow images to relevant anchors. Arrows are fully customisable via CSS. You can turn off auto-generation of the arrow mark-up via the ?autoArrows? option if required.
- drop shadows for capable browsers ? degrades gracefully for Internet Explorer 6. Can disable shadows completely via options object.
- Can show the path to your current page while the menu is idle. The easiest way to understand this is to view the nav-bar example.
- Optional callback functions. The 'this' keyword within the handlers you attach will refer to the animated ul sub-menu. From version 1.4 there are now three other optional callbacks allowing for further enhancements and functionality to be added without needing to alter the core Superfish code.
<ul id="tree-demo" class="sf-menu"><li><a name="topiclist" class="sf-with-ul">Topics...</a><span class="sf-sub-indicator">»</span>
</ul><!-- close the sf-menu -->
TreePlugin not enabled
This menu uses the optional Supersubs plugin (currently beta) to make the sub-menu widths variable. The fixed width set in the CSS is overridden and all menu items within a sub-menu are altered to match the width of their widest sibling. This is most commonly used to make all menu items fit on one line so that they are all of equal height.
Note that Supersubs needs to be called before Superfish in the initialisation chain...