Das Vernünftigste ist meist, mit JavaScript überhaupt keine CSS-Eigenschaften zu ändern; auch wenn das „schwer ist, ist in die Köpfe der Menschen zu bringen“.
Vergiss, dass es sowas wie
css()
odershow()
oderhide()
in jQuery gibt!
show/hide oder slideUp/slideDown und Konsorten ändern aber CSS-Eigenschaften :)
Mit Bordmitteln lassen sich Animationen mit Klassen in jQuery nicht umsetzen - aber mit jQuery UI lässt sich auch addClass oder removeClass animieren - oder aber man nutzt das animateToClass-Plugin.