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: jQuery.fn.toggle,
|
||||||
|
|
||||||
toggle: function( fn, fn2 ){
|
toggle: function( fn, fn2 ){
|
||||||
|
var bool = typeof fn === "boolean";
|
||||||
|
|
||||||
return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
|
return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
|
||||||
this._toggle.apply( this, arguments ) :
|
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({
|
this.animate({
|
||||||
height: "toggle", width: "toggle", opacity: "toggle"
|
height: "toggle", width: "toggle", opacity: "toggle"
|
||||||
}, fn, fn2) :
|
}, fn, fn2);
|
||||||
this.each(function(){
|
|
||||||
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
fadeTo: function(speed,to,callback){
|
fadeTo: function(speed,to,callback){
|
||||||
|
|
|
@ -155,13 +155,20 @@ test("stop(clearQueue, gotoEnd)", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test("toggle()", function() {
|
test("toggle()", function() {
|
||||||
expect(3);
|
expect(6);
|
||||||
var x = jQuery("#foo");
|
var x = jQuery("#foo");
|
||||||
ok( x.is(":visible"), "is visible" );
|
ok( x.is(":visible"), "is visible" );
|
||||||
x.toggle();
|
x.toggle();
|
||||||
ok( x.is(":hidden"), "is hidden" );
|
ok( x.is(":hidden"), "is hidden" );
|
||||||
x.toggle();
|
x.toggle();
|
||||||
ok( x.is(":visible"), "is visible again" );
|
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 = {
|
var visible = {
|
||||||
|
|
Loading…
Reference in a new issue