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 ) {
|
||||
jQuery._unmark( true, this );
|
||||
}
|
||||
// go in reverse order so anything added to the queue during the loop is ignored
|
||||
while ( i-- ) {
|
||||
if ( timers[i].elem === this ) {
|
||||
if (gotoEnd) {
|
||||
@ -522,11 +521,9 @@ jQuery.fx.prototype = {
|
||||
|
||||
jQuery.extend( jQuery.fx, {
|
||||
tick: function() {
|
||||
var timers = jQuery.timers,
|
||||
i = timers.length;
|
||||
while ( i-- ) {
|
||||
for ( var timers = jQuery.timers, i = 0 ; i < timers.length ; ++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();
|
||||
}, 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