Задача: изменить содержимое блока и тут же получить его новую высоту, например, в переменную height. Если делать так:
elem.innerHTML="text";
var height=elem.clientHeight;
то clientHeight получается той же, что была у элемента до изменения содержимого.
Причины этого понятны, но как же в этом случае получить высоту элемента? setTimeout(function() { height=elem.clientHeight; },t); в этом случае работает, но не подходит, да и само по себе не лучшее решение.