lib-jquery-plugin-hover-jquery.js / js
/* Copyright (c) 2008 Brian Beck (exogen@gmail.com) * MIT (http://www.opensource.org/licenses/mit-license.php) licensed. * * Version: 1.0 * * Requires: * jQuery 1.2+ * Dimensions (http://plugins.jquery.com/project/dimensions) */ (function(.extend({ ahover: { version: 1.0, defaults: { toggleSpeed: 75, toggleEffect: 'both', hoverEffect: null, moveSpeed: 250, easing: 'swing', className: 'ahover' }, effects: { 'width': {width: 0}, 'height': {height: 0}, 'both': {width: 0, height: 0} } } }); .extend({}, .ahover.effects[options.toggleEffect] : options.toggleEffect ); var parent = this.offsetParent(); return this.hover( function(e) { var over = this; var overSize = { width: over.outerWidth(), height: over.outerHeight() }; var overOffset = over.offset(); var parentOffset = parent.offset(); var under = $('div.' + options.className, parent).stop(); var created = (under.length == 0); if (created) { under = $('<div> </div>') .addClass(options.className) .appendTo(parent).css(overSize); } var underOffset = { left: overOffset.left - parentOffset.left - (under.outerWidth() - under.width()) / 2, top: overOffset.top - parentOffset.top - (under.outerHeight() - under.height()) / 2 } if (created) { under.css(underOffset).css(effect).animate(overSize, { queue: false, duration: options.toggleSpeed, easing: options.easing }); } else { var underCSS = .isFunction(options.hoverEffect)) { under.queue(options.hoverEffect); } }, function(e) { $('div.' + options.className, parent).animate(effect, { queue: false, duration: options.toggleSpeed, easing: options.easing, complete: function() { this.remove(); } }); } ); } }); })(jQuery);
(C) Æliens 20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.