Есть код:
<style>
div{width:100px;height:100px;position:absolute;background:#000;}
</style>
<div></div>
<script>
function animate(a){
var i=0;
return (function(){
if(++i<100){
a.style.left=i+"px";
}
else alert("Выполнено");
setInterval(arguments.callee,10)
})();
}
animate(document.getElementsByTagName("div")[0])
</script>
После выполнения анимации наступит вечный алерт… Не знаю, где применить clearInterval(), чтобы вовремя остановить повторение функции.