var i = 0;
var timer = setInterval(function() {
if(i < (all - 1)) {
/* какое-то действие */
i++;
} else {
clearInterval(timer);
}
}, 1000);
Хотя, если действие "длинное" - для точности срабатывания временных задержек рекомендуется использовать вложенные setTimeout
Равномерное движение есть движение с постоянной скорость пикс/сек. Т.е. задача в том, чтобы перемещать объект на одинаковое число пикселей за одинаковое время.