Perché funziona quanto segue?
<something>.stop().animate(
{ 'top' : 10 }, 10
);
Considerando che questo non funziona:
var thetop = 'top';
<something>.stop().animate(
{ thetop : 10 }, 10
);
Per renderlo ancora più chiaro: al momento non sono in grado di passare una proprietà CSS alla funzione animata come variabile.