Fixed a problem with animations with a duration of 0 not working properly for hide and show.
This commit is contained in:
parent
21dead4691
commit
25c188b6d2
2 changed files with 22 additions and 17 deletions
|
@ -18,8 +18,8 @@ function genFx( type, num ){
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend({
|
||||||
show: function(speed,callback){
|
show: function( speed, callback ) {
|
||||||
if ( speed ) {
|
if ( typeof speed !== "undefined" ) {
|
||||||
return this.animate( genFx("show", 3), speed, callback);
|
return this.animate( genFx("show", 3), speed, callback);
|
||||||
} else {
|
} else {
|
||||||
for ( var i = 0, l = this.length; i < l; i++ ){
|
for ( var i = 0, l = this.length; i < l; i++ ){
|
||||||
|
@ -58,8 +58,8 @@ jQuery.fn.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
hide: function(speed,callback){
|
hide: function( speed, callback ) {
|
||||||
if ( speed ) {
|
if ( typeof speed !== "undefined" ) {
|
||||||
return this.animate( genFx("hide", 3), speed, callback);
|
return this.animate( genFx("hide", 3), speed, callback);
|
||||||
} else {
|
} else {
|
||||||
for ( var i = 0, l = this.length; i < l; i++ ){
|
for ( var i = 0, l = this.length; i < l; i++ ){
|
||||||
|
|
|
@ -86,32 +86,37 @@ test("animate with no properties", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test("animate duration 0", function() {
|
test("animate duration 0", function() {
|
||||||
expect(7);
|
expect(11);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var $elems = jQuery([{ a:0 },{ a:0 }]),
|
var $elems = jQuery([{ a:0 },{ a:0 }]), counter = 0;
|
||||||
counter = 0,
|
|
||||||
count = function(){
|
|
||||||
counter++;
|
|
||||||
};
|
|
||||||
|
|
||||||
equals( jQuery.timers.length, 0, "Make sure no animation was running from another test" );
|
equals( jQuery.timers.length, 0, "Make sure no animation was running from another test" );
|
||||||
|
|
||||||
$elems.eq(0).animate( {a:1}, 0, count );
|
$elems.eq(0).animate( {a:1}, 0, function(){
|
||||||
|
ok( true, "Animate a simple property." );
|
||||||
|
counter++;
|
||||||
|
});
|
||||||
|
|
||||||
// Failed until [6115]
|
// Failed until [6115]
|
||||||
equals( jQuery.timers.length, 0, "Make sure synchronic animations are not left on jQuery.timers" );
|
equals( jQuery.timers.length, 0, "Make sure synchronic animations are not left on jQuery.timers" );
|
||||||
|
|
||||||
equals( counter, 1, "One synchronic animations" );
|
equals( counter, 1, "One synchronic animations" );
|
||||||
|
|
||||||
$elems.animate( { a:2 }, 0, count );
|
$elems.animate( { a:2 }, 0, function(){
|
||||||
|
ok( true, "Animate a second simple property." );
|
||||||
|
counter++;
|
||||||
|
});
|
||||||
|
|
||||||
equals( counter, 3, "Multiple synchronic animations" );
|
equals( counter, 3, "Multiple synchronic animations" );
|
||||||
|
|
||||||
$elems.eq(0).animate( {a:3}, 0, count );
|
$elems.eq(0).animate( {a:3}, 0, function(){
|
||||||
$elems.eq(1).animate( {a:3}, 20, function(){
|
ok( true, "Animate a third simple property." );
|
||||||
count();
|
counter++;
|
||||||
|
});
|
||||||
|
$elems.eq(1).animate( {a:3}, 200, function(){
|
||||||
|
counter++;
|
||||||
// Failed until [6115]
|
// Failed until [6115]
|
||||||
equals( counter, 5, "One synchronic and one asynchronic" );
|
equals( counter, 5, "One synchronic and one asynchronic" );
|
||||||
start();
|
start();
|
||||||
|
@ -119,10 +124,10 @@ test("animate duration 0", function() {
|
||||||
|
|
||||||
var $elem = jQuery("<div />");
|
var $elem = jQuery("<div />");
|
||||||
$elem.show(0, function(){
|
$elem.show(0, function(){
|
||||||
ok(true, "Show's callback with no duration");
|
ok(true, "Show callback with no duration");
|
||||||
});
|
});
|
||||||
$elem.hide(0, function(){
|
$elem.hide(0, function(){
|
||||||
ok(true, "Show's callback with no duration");
|
ok(true, "Hide callback with no duration");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue