Say I have this.
var e = $('#div');
I want to do
e.fadeOut(3000).animate({'top':500}, 3000);
And then
e.animate({'top':250}, 3000);
Immediately, stopping the original top
animation on e
, but without stopping the fade.
Note I am also using the jQuery Transit plugin in place of jQuery animate.
You can run the fade animation with the queue option false. The first button starts both animations and the second button overrides just the top animation.
I think there is another way of doing it using a named queue but I find it more lengthy because you have to manually start the animation with .dequeue('queueName')
EDIT:
Just noticed you mentioned not wanting to use queue:false. Below it's the same thing using queue names and stopping individual animations.