Skriptor,
http://learn.javascript.ru/js-animation
Когда прочтете, то для функции animate можно передать такую функцию step:
var animatedParams = [
{
name: "width",
start: 100,
end: 250
},
name: "left",
start: 15,
end: 78
}
];
var animatedElement = ...;
var step = function (progress) {
animatedParams.forEach(function (animatedParam) {
animatedElement.style[animatedParam.name] = (animatedParam.start + (animatedParam.end - animatedParam.start) * progress) + "px";
});
}
animatedParams - массив параметров которые надо анимировать с именем анимируемого стиля, стартовым и конечным значением
animatedElement - элкмент который анимируем
Таким образом можно анимировать сколько угодно параметров в едениуц времени. Только такая функция не предполагает префиксов для CSS3, но направление мысли должно быть ясно