Skip to content

Commit

Permalink
Added full support for easing in all shorthand effects methods (hide,…
Browse files Browse the repository at this point in the history
… show, toggle, fadeTo, slideUp, etc.). Previously, these methods could only be used with two of the three (speed, easing, callback) arguments, or, in the case of fadeTo, 3 of the 4 (speed, opacity, easing, callback) arguments. Added three more sets of tests to the series of "Chain" tests. Fixes #7014
  • Loading branch information
kswedberg authored and jeresig committed Sep 22, 2010
1 parent 0688344 commit 1f667aa
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 11 deletions.
20 changes: 10 additions & 10 deletions src/effects.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ var elemdisplay = {},
];

jQuery.fn.extend({
show: function( speed, callback ) {
show: function( speed, easing, callback ) {
if ( speed || speed === 0) {
return this.animate( genFx("show", 3), speed, callback);
return this.animate( genFx("show", 3), speed, easing, callback);

} else {
for ( var i = 0, l = this.length; i < l; i++ ) {
Expand Down Expand Up @@ -58,9 +58,9 @@ jQuery.fn.extend({
}
},

hide: function( speed, callback ) {
hide: function( speed, easing, callback ) {
if ( speed || speed === 0 ) {
return this.animate( genFx("hide", 3), speed, callback);
return this.animate( genFx("hide", 3), speed, easing, callback);

} else {
for ( var i = 0, l = this.length; i < l; i++ ) {
Expand All @@ -83,7 +83,7 @@ jQuery.fn.extend({
// Save the old toggle function
_toggle: jQuery.fn.toggle,

toggle: function( fn, fn2 ) {
toggle: function( fn, fn2, callback ) {
var bool = typeof fn === "boolean";

if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
Expand All @@ -96,15 +96,15 @@ jQuery.fn.extend({
});

} else {
this.animate(genFx("toggle", 3), fn, fn2);
this.animate(genFx("toggle", 3), fn, fn2, callback);
}

return this;
},

fadeTo: function( speed, to, callback ) {
fadeTo: function( speed, to, easing, callback ) {
return this.filter(":hidden").css("opacity", 0).show().end()
.animate({opacity: to}, speed, callback);
.animate({opacity: to}, speed, easing, callback);
},

animate: function( prop, speed, easing, callback ) {
Expand Down Expand Up @@ -241,8 +241,8 @@ jQuery.each({
fadeIn: { opacity: "show" },
fadeOut: { opacity: "hide" }
}, function( name, props ) {
jQuery.fn[ name ] = function( speed, callback ) {
return this.animate( props, speed, callback );
jQuery.fn[ name ] = function( speed, easing, callback ) {
return this.animate( props, speed, easing, callback );
};
});

Expand Down
2 changes: 2 additions & 0 deletions test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ <h2 id="qunit-userAgent"></h2>

<div id="slidetogglein" class='chain test'>slideToggleIn<div>slideToggleIn</div></div>
<div id="slidetoggleout" class='chain test out'>slideToggleOut<div>slideToggleOut</div></div>

<div id="fadeto" class='chain test'>fadeTo<div>fadeTo</div></div>

This comment has been minimized.

Copy link
@jeresig

jeresig Sep 22, 2010

Member

Good catch - fixed! a32f4d7

</div>

<div id="fx-tests"></div>
Expand Down
14 changes: 13 additions & 1 deletion test/unit/effects.js
Original file line number Diff line number Diff line change
Expand Up @@ -562,20 +562,28 @@ test("Chain hide show", function() {
test("Chain show hide", function() {
jQuery('#hide div').saveState().show('fast').hide('fast',jQuery.checkState);
});
test("Chain show hide with easing and callback", function() {
jQuery('#hide div').saveState().show('fast').hide('fast','linear',jQuery.checkState);
});

test("Chain toggle in", function() {
jQuery('#togglein div').saveState().toggle('fast').toggle('fast',jQuery.checkState);
});
test("Chain toggle out", function() {
jQuery('#toggleout div').saveState().toggle('fast').toggle('fast',jQuery.checkState);
});

test("Chain toggle out with easing and callback", function() {
jQuery('#toggleout div').saveState().toggle('fast').toggle('fast','linear',jQuery.checkState);
});
test("Chain slideDown slideUp", function() {
jQuery('#slidedown div').saveState().slideDown('fast').slideUp('fast',jQuery.checkState);
});
test("Chain slideUp slideDown", function() {
jQuery('#slideup div').saveState().slideUp('fast').slideDown('fast',jQuery.checkState);
});
test("Chain slideUp slideDown with easing and callback", function() {
jQuery('#slideup div').saveState().slideUp('fast').slideDown('fast','linear',jQuery.checkState);
});

test("Chain slideToggle in", function() {
jQuery('#slidetogglein div').saveState().slideToggle('fast').slideToggle('fast',jQuery.checkState);
Expand All @@ -584,6 +592,10 @@ test("Chain slideToggle out", function() {
jQuery('#slidetoggleout div').saveState().slideToggle('fast').slideToggle('fast',jQuery.checkState);
});

test("Chain fadeTo 0.5 1.0 with easing and callback)", function() {
jQuery('#fadeto div').saveState().fadeTo('fast',0.5).fadeTo('fast',1.0,'linear',jQuery.checkState);
});

jQuery.makeTest = function( text ){
var elem = jQuery("<div></div>")
.attr("id", "test" + jQuery.makeTest.id++)
Expand Down

0 comments on commit 1f667aa

Please sign in to comment.