aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.widget.js
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-05-30 18:27:48 -0400
committerScott González <scott.gonzalez@gmail.com>2011-05-30 18:27:48 -0400
commit1b52cefc26da3a3c5bcb9116db79f68dbcc5de81 (patch)
tree4c8aca6129237205a45807e31a8eaf487df96141 /ui/jquery.ui.widget.js
parente5186dc9309cddf4a70bad37de4b4c71d2018f5c (diff)
downloadjquery-ui-1b52cefc26da3a3c5bcb9116db79f68dbcc5de81.tar.gz
jquery-ui-1b52cefc26da3a3c5bcb9116db79f68dbcc5de81.zip
Widget: Fixed _show() and _hide() implementation and added tests.
Diffstat (limited to 'ui/jquery.ui.widget.js')
-rw-r--r--ui/jquery.ui.widget.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js
index da52a5a9c..00bc07c4f 100644
--- a/ui/jquery.ui.widget.js
+++ b/ui/jquery.ui.widget.js
@@ -375,9 +375,20 @@ $.Widget.prototype = {
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
+ if ( typeof options === "string" ) {
+ options = { effect: options };
+ }
+ var hasOptions,
+ effectName = !options ?
+ method :
+ options === true || typeof options === "number" ?
+ defaultEffect :
+ options.effect || defaultEffect;
options = options || {};
- var hasOptions = !$.isEmptyObject( options ),
- effectName = options.effect || defaultEffect;
+ if ( typeof options === "number" ) {
+ options = { duration: options };
+ }
+ hasOptions = !$.isEmptyObject( options );
options.complete = callback;
if ( options.delay ) {
element.delay( options.delay );
@@ -387,11 +398,12 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
} else if ( effectName !== method && element[ effectName ] ) {
element[ effectName ]( options.duration, options.easing, callback );
} else {
- element.queue( function() {
+ element.queue(function( next ) {
$( this )[ method ]();
if ( callback ) {
callback.call( element[ 0 ] );
}
+ next();
});
}
};