Nixbox archive:

Historical documentation for unsupported software. All required demo assets are stored locally in this archive.

Download jQuery LavaLamp menu plugin

jQuery LavaLamp Github repository view the full revision history of jQuery LavaLamp and fork it @github!

Release 1.4.1

Updated to use on instead of bind, because of this LavaLamp now requires jQuery 1.7 or later.

  • Updated with new README.md to include usage and release history information and moved it out of the jquery.lavalamp.js
  • Code reformatted with prettier
  • New minified version produced with latest Google closure compiler
  • Updated website and demo code to use newest JS libraries

Download jquery.lavalamp 1.4.1 release archive

Release 1.4

This release provides a fix to a longstanding bug (noLava elements with additional classes), callbacks and customizable class names

  • enhanced: lava animations now also trigger on focusin and focusout to support keyboard usage
  • new options:
    • hoverStart, hoverFinish, returnStart, returnFinish: callbacks for different stages of the hover process.
    • selectClass, homeClass, skipClass: optional overrides for internally used classes selectedLava, homeLava and noLava
  • fixed: improved check for skipClass (noLava)

Download jquery.lavalamp 1.4 release archive

Release 1.3.5

This release sees a major change to the hover .backLava element, namely, margins and padding are forced to zero. This is to properly support the new includeMargins option.

  • enhanced: new container option allows changing the container for the hover .backLava element to any valid DOM element. The default setting is '' or an empty string. If left unset, the value of the target option will be used. See the new multi-layer demos for examples.
  • enhanced: new includeMargins code option causes the hover element to expand to include the margins of the target element. Default for this option is false. See the last multi-layer demo.
  • fixed: internal calculations for the size of the target element relied on strict CSS setups. This led to some display quirks when using the includeMargins and new target and container features. To correct this, LavaLamp now forces margin:0 and padding:0 on the hover .backLava element. While this did not effect demos on this site, you may need to adjust your .backLava CSS to work properly with this version by adjusting the CSS padding and margins on your target elements.

Download jquery.lavalamp 1.3.5 release archive

Now what? Check out the tutorial and demos!

Note: If you find a bug, have a feature request or better yet, a pull request, please submit an issue and let me know what you've found.

past versions

jQuery LavaLamp 1.3.4

Finally out of beta - sorry for the long wait, and thanks for the feedback.

  • enhanced: new target option allows changing the target element from li to any valid jquery selector. See target demo
  • enhanced: better automatic default item selection with current page location URI, better support for returnHome and returnDelay, refined internal variable usage.
  • fixed: backLava hover element now exactly covers the destination li dimensions, including both elements' all four border sizes.
  • fixed: internal fix - reassigned jQuery library to the $ variable inside the closure.
  • fixed: restored jQuery 1.2.6 compatibility: changed use of mouseleave/mouseenter to bind events so LavaLamp should continue to work with jQuery 1.2.3 onward.
  • enhanced: behaves more like a plugin and now automatically adds proper position and block CSS tags to the backLava element and parent container if they are not present.

jQuery LavaLamp 1.3.3:

  • fixed: added closure with null passed argument for move() command in returnDelay to fix errors some were seeing - thanks to Michel and Richard for noticing this.
  • fixed: changed mouseover/mouseout events to mouseenter/mouseleave to fix jerky/stuttering animation problem when using large margins on <li> elements. Thanks to Thomas for the solution and Chris for clearly demonstrating the problem.
  • enhanced: New! Multi-layered Menu support - added noLava class detection to prevent LavaLamp effect on <li> elements with this class. See the demo page for details.
  • enhanced: modified to better automatically find default location for relative links. Thanks to Harold for testing and finding this bug.

jQuery LavaLamp 1.3.2:

  • patched to remove stray $ references inside plugin to work correctly with jQuery.noConflict() mode.

jQuery LavaLamp 1.3.1:

  • verified for use with jQuery 1.3 - should still work with 1.2.x series
  • changed linum parameter to startItem for clarity
  • improved slide-in accuracy for .back elements with borders
  • changed .current class to .selectedLava for clarity and improved support
  • appended 'Lava' to all internal class names to avoid conflicts
  • full support for jQuery.noConflict() mode
  • performance improvements

new options:

  • autoReturn: true - if set to false, hover will not return to last selected item upon list mouseout.
  • returnDelay: 0 - if set, will delay auto-return feature specified # of milliseconds.
  • setOnClick: true - if set to false, hover will return to default element regardless of click event.
  • homeLeft: 0, homeTop: 0 - if either set to non zero value, absolute positioned li element with class .home is prepended to list for homing feature.
  • homeWidth: 0, homeHeight: 0 - if set, are used for creation of li.home element.
  • returnHome: false - if set along with homeLeft or homeTop, lavalamp hover will always return to li.home after click.

Important Notes for 1.3.1 update:

  • two big changes were made to the internals that may affect upgrading to this version. make sure to update your CSS class names and change linum to startItem when you upgrade!
  • a bug in the first few versions with the linum parameter created a nifty out-of-bounds fly in effect that several people requested as a feature, so the home features are born!
  • known issue: IE may throw an error if using an out-of-bounds home with too small height and width - I opened a ticket here: http://dev.jquery.com/ticket/3881 but no one seemed interested in fixing it at the time. UPDATE: John marked this as FIXED in the jQuery 1.4 core and later as of 2009-12-05; see link above for details.

jQuery LavaLamp 1.3:

  • New default routine automagically attempts to match the location bar info to the appropriate link href tag for the active page - this should prevent need to use linum/startItem in most situations
  • click method now returns true by default, allowing link follow
  • cleaned up the original code for readability and efficiency

Notes for this version:

  • The demo page is now entirely html/jQuery powered.

jQuery LavaLamp 1.2:

  • both horizontal and vertical movement and stretching
  • customizable <li> element selection
  • custom call back on completion
  • easing library support
  • speed adjust
Preserved as a static historical reference.