Митя, там весь код менять нужно))
Поэтому и советовал взять готовое решение.
а ошибка в том что go некогда не будет равен 1 когда будет проверяться
function animate(id, from, to, delta, dur) {
go = 0;// тут обнуление
var element = document.getElementById(id);
var duration = dur || 1000;
var start = new Date().getTime();
setTimeout(function() {
if (go == 1) {// это условие некогда не сработает
return false;
}
var now = (new Date().getTime()) - start;
var progress = now / duration;
if (progress >= 1) {
var result = to;
}
else {
var result = (to - from) * delta(progress) + from;
}
element.style.marginLeft = result + "px";
if (progress < 1) {
setTimeout(arguments.callee, 10);
}
}, 10);
}