Custom tooltip animations based on widget-animations branch.

This commit is contained in:
jzaefferer 2011-04-15 16:49:29 +02:00
parent 00559b388a
commit e609bebaae
3 changed files with 26 additions and 9 deletions

View File

@ -11,15 +11,12 @@
<link type="text/css" href="../demos.css" rel="stylesheet" /> <link type="text/css" href="../demos.css" rel="stylesheet" />
<script type="text/javascript"> <script type="text/javascript">
$(function() { $(function() {
// TODO overhaul this with custom animation API
$(".demo").tooltip({ $(".demo").tooltip({
open: function() { show: {
$(".ui-tooltip").stop(false, true).hide().slideDown(); effect: "slideDown"
}, },
close: function() { hide: {
$(".ui-tooltip").stop(false, false).show().slideUp(function() { effect: "slideUp"
$(this).remove();
});
} }
}); });
}); });

View File

@ -91,7 +91,7 @@ $.widget("ui.tooltip", {
}, this.options.position ) ).hide(); }, this.options.position ) ).hide();
tooltip.fadeIn(); this._show( tooltip, this.options.show );
this._trigger( "open", event ); this._trigger( "open", event );
@ -111,7 +111,7 @@ $.widget("ui.tooltip", {
var tooltip = this._find( target ); var tooltip = this._find( target );
target.removeAttr( "aria-describedby" ); target.removeAttr( "aria-describedby" );
tooltip.fadeOut( function() { this._hide( tooltip, this.options.hide, function() {
$( this ).remove(); $( this ).remove();
}); });

View File

@ -353,6 +353,26 @@ $.Widget.prototype = {
} }
}; };
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
options = options || {};
var hasOptions = !$.isEmptyObject( options ),
effectName = options.effect || defaultEffect;
options.complete = callback;
if ( hasOptions && $.effects && $.effects[ effectName ] ) {
element[ method ]( options );
} else if ( element[ effectName ] ) {
element[ effectName ]( options.duration, options.easing, callback );
} else {
element[ method ]();
if ( callback ) {
callback.call( element[ 0 ] );
}
}
};
});
// DEPRECATED // DEPRECATED
if ( $.uiBackCompat !== false ) { if ( $.uiBackCompat !== false ) {
$.Widget.prototype._getCreateOptions = function() { $.Widget.prototype._getCreateOptions = function() {