Test syntax for complete callback. Complete should be in second param.

The 'as "complete"' test is broken in both IE and Chrome as the complete callback is fired before the animation ends. This is fixed by passing complete as a part of the second parameter object.

This is also how jQuery animate does it, as transition() follows its syntax:
http://api.jquery.com/animate/