jquery fx: Closes #3219. jQuery.fn.toggle can accept a boolean argument indicating show/hide.
This commit is contained in:
parent
0a8f96ac3d
commit
654d946ead
13
src/fx.js
13
src/fx.js
|
@ -57,15 +57,18 @@ jQuery.fn.extend({
|
|||
_toggle: jQuery.fn.toggle,
|
||||
|
||||
toggle: function( fn, fn2 ){
|
||||
var bool = typeof fn === "boolean";
|
||||
|
||||
return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
|
||||
this._toggle.apply( this, arguments ) :
|
||||
fn ?
|
||||
fn == null || bool ?
|
||||
this.each(function(){
|
||||
var state = bool ? fn : jQuery(this).is(":hidden");
|
||||
jQuery(this)[ state ? "show" : "hide" ]();
|
||||
}) :
|
||||
this.animate({
|
||||
height: "toggle", width: "toggle", opacity: "toggle"
|
||||
}, fn, fn2) :
|
||||
this.each(function(){
|
||||
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
|
||||
});
|
||||
}, fn, fn2);
|
||||
},
|
||||
|
||||
fadeTo: function(speed,to,callback){
|
||||
|
|
|
@ -155,13 +155,20 @@ test("stop(clearQueue, gotoEnd)", function() {
|
|||
});
|
||||
|
||||
test("toggle()", function() {
|
||||
expect(3);
|
||||
expect(6);
|
||||
var x = jQuery("#foo");
|
||||
ok( x.is(":visible"), "is visible" );
|
||||
x.toggle();
|
||||
ok( x.is(":hidden"), "is hidden" );
|
||||
x.toggle();
|
||||
ok( x.is(":visible"), "is visible again" );
|
||||
|
||||
x.toggle(true);
|
||||
ok( x.is(":visible"), "is visible" );
|
||||
x.toggle(false);
|
||||
ok( x.is(":hidden"), "is hidden" );
|
||||
x.toggle(true);
|
||||
ok( x.is(":visible"), "is visible again" );
|
||||
});
|
||||
|
||||
var visible = {
|
||||
|
|
Loading…
Reference in a new issue