exec на всякий, поправьте свой пример, он не работает как минимум в firefox))
Внесу свои пять копеек:
<script type="text/javascript">
window.onload = function(){
var elem = document.getElementsByTagName('div')[0], i = l = 30, j = k = 0, s = 100;
document.getElementsByTagName('a')[0].onclick = function(){
if(k!=0) return;
(function(){
if(i<=s){
elem.style.top = ++i +'px'; j = i; k = 1;
}
else {
elem.style.top = --j +'px';
if(j<=l) i = l;
}
window.setTimeout(arguments.callee, 10); return false;
})();
return false;
};
};
</script>
<a href="#">click<a/>
<div style="background: #0095FF; position: absolute; width: 50px; height: 50px"></div>