aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/tooltip/custom-animation.html8
-rw-r--r--ui/jquery.ui.widget.js21
2 files changed, 21 insertions, 8 deletions
diff --git a/demos/tooltip/custom-animation.html b/demos/tooltip/custom-animation.html
index d0689a0eb..ef8857979 100644
--- a/demos/tooltip/custom-animation.html
+++ b/demos/tooltip/custom-animation.html
@@ -17,8 +17,8 @@
delay: 250
},
hide: {
- effect: "slideUp",
- delay: 500
+ effect: "hide",
+ delay: 250
}
});
});
@@ -47,7 +47,9 @@
<div class="demo-description">
-<p>Here the tooltips are positioned relative to the mouse, and follow the mouse while it moves above the element.</p>
+<p>This demo shows how to customize animations. The tooltip is shown, after a
+delay of 250ms, using a slide down animation, and hidden, after another delay,
+without an animation.</p>
</div><!-- End demo-description -->
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js
index 9634eaa1f..a5c59ad3c 100644
--- a/ui/jquery.ui.widget.js
+++ b/ui/jquery.ui.widget.js
@@ -365,12 +365,23 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
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 ] );
+ if ( /show|hide/.test( effectName ) ) {
+ element.queue( function() {
+ element[ effectName ]();
+ if ( callback ) {
+ callback.call( element[ 0 ] );
+ }
+ });
+ } else {
+ element[ effectName ]( options.duration, options.easing, callback );
}
+ } else {
+ element.queue( function() {
+ $( this )[ method ]();
+ if ( callback ) {
+ callback.call( element[ 0 ] );
+ }
+ });
}
};
});