There are plenty of plugins that handle this, however you really don't need to use them if you don't want to.
$.fx.step
will handle all your needs and is also uber useful and worth learning.
Here is an example :
$.fx.step.webkitRotate = function(fx){
if(!fx.init){
var currentRotation = fx.elem.style.webkitTransform;
currentRotation = currentRotation.split('(')[1];
currentRotation = currentRotation.split('deg)')[0];
fx.begin = currentRotation;
fx.init = true;
}
fx.elem.style.webkitTransform = 'rotate('+fx.pos+'deg)';
};
You could then:
$("img").animate(
{
opacity:1,
webkitRotate:-180
},1000,function(){
//some function
}
);
Its a crude example, and needs refinement, but hopefully you get the idea. Useinf $.fx.step
you can set up custom animation params to animate any aspect of the dom or even variables. You can even use it to do custom calculations to determine the next step in the animation. For example: I recently used $.fx.step
to do a custom animation on a css3 gradient, which there is currently no pluggin for.
If you must use a pluggin for rotation I recommend : http://www.zachstronaut.com/posts/2009/08/07/jquery-animate-css-rotate-scale.html
However ultimately his pluggin uses $.fx.step
and its worth learning on your own.