mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Landing pull request 374. .animate() Callbacks should fire in correct order (unit test included). Fixes #9100.
More Details: - https://github.com/jquery/jquery/pull/374 - https://github.com/jquery/jquery/issues/9100
This commit is contained in:
commit
521ae562da
7
src/effects.js
vendored
7
src/effects.js
vendored
@ -258,7 +258,6 @@ jQuery.fn.extend({
|
|||||||
if ( !gotoEnd ) {
|
if ( !gotoEnd ) {
|
||||||
jQuery._unmark( true, this );
|
jQuery._unmark( true, this );
|
||||||
}
|
}
|
||||||
// go in reverse order so anything added to the queue during the loop is ignored
|
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
if ( timers[i].elem === this ) {
|
if ( timers[i].elem === this ) {
|
||||||
if (gotoEnd) {
|
if (gotoEnd) {
|
||||||
@ -522,11 +521,9 @@ jQuery.fx.prototype = {
|
|||||||
|
|
||||||
jQuery.extend( jQuery.fx, {
|
jQuery.extend( jQuery.fx, {
|
||||||
tick: function() {
|
tick: function() {
|
||||||
var timers = jQuery.timers,
|
for ( var timers = jQuery.timers, i = 0 ; i < timers.length ; ++i ) {
|
||||||
i = timers.length;
|
|
||||||
while ( i-- ) {
|
|
||||||
if ( !timers[i]() ) {
|
if ( !timers[i]() ) {
|
||||||
timers.splice(i, 1);
|
timers.splice(i--, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
16
test/unit/effects.js
vendored
16
test/unit/effects.js
vendored
@ -1029,3 +1029,19 @@ test( "animate properties missing px w/ opacity as last (#9074)", 2, function()
|
|||||||
start();
|
start();
|
||||||
}, 100);
|
}, 100);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("callbacks should fire in correct order (#9100)", function() {
|
||||||
|
stop();
|
||||||
|
var a = 1,
|
||||||
|
cb = 0,
|
||||||
|
$lis = jQuery("<p data-operation='*2'></p><p data-operation='^2'></p>").appendTo("#qunit-fixture")
|
||||||
|
// The test will always pass if no properties are animated or if the duration is 0
|
||||||
|
.animate({fontSize: 12}, 13, function() {
|
||||||
|
a *= jQuery(this).data("operation") === "*2" ? 2 : a;
|
||||||
|
cb++;
|
||||||
|
if ( cb === 2 ) {
|
||||||
|
equal( a, 4, "test value has been *2 and _then_ ^2");
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user