Tooltip: Add support for delaying showing/hiding. Still need to figure

out how to combine that with non-animated show/hide.
This commit is contained in:
jzaefferer 2011-04-21 14:30:42 +02:00
parent 3950a0515d
commit 3bb9ab2626
3 changed files with 9 additions and 5 deletions

View File

@ -13,10 +13,12 @@
$(function() {
$(".demo").tooltip({
show: {
effect: "slideDown"
effect: "slideDown",
delay: 250
},
hide: {
effect: "slideUp"
effect: "slideUp",
delay: 500
}
});
});

View File

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

View File

@ -359,7 +359,9 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
var hasOptions = !$.isEmptyObject( options ),
effectName = options.effect || defaultEffect;
options.complete = callback;
if (options.delay) {
element.delay( options.delay );
}
if ( hasOptions && $.effects && $.effects[ effectName ] ) {
element[ method ]( options );
} else if ( element[ effectName ] ) {