Посмотрите этот код пжл, скажите, что в нём не так?
<script>
function myf(div)
{
var elem = document.getElementById(div);
var show = document.getElementById('di');
show.innerHTML = elem.offsetHeight;
setTimeout(function() {
elem.style.height = (elem.offsetHeight - 15) + 'px';
show.innerHTML = elem.offsetHeight;
if(elem.offsetHeight > 0)
{
myf(div);
}
},50);
}
</script>
<a href="javascript:void(0)" onclick="myf('dii')">Запуск</a>
<div id="di"></div><hr>
<div id="dii" style="background-color: blue">
111111111111111111111111111111111111111111111111111111111111111111<br>
1111111 1111111111111111111 11111111111111111 111111111 11111111111111<br>
1111111111111111111 111111111111111111111 11111111111111111111111111<br>
111111111111111111111111111111111111111111111111111111111111 111111<br>
11111111111111111111111111111111111111111111111111 11 11111111111111<br>
</div>