Здравствуйте. Есть функция, которая плавно раворачивает div.
function Show(objId, hBlock)
{
var obj = document.getElementById(objId);
if (obj.offsetHeight < hBlock)
{
obj.style.height = (obj.offsetHeight + 5) + "px";
setTimeout (function(){Show(objId, hBlock)}, 1);
}
}
Всё отлично работает, но после того, как функция закончила работу высоту этого дива нужно сделать 100%. Нужно это потому, что высота разворачиваемого дива будет потом изменяться в зависимости от контента(в нем тоже будут раворачивающиеся блоки).
Пробовал делать так:
function Show(objId, hBlock)
{
var obj = document.getElementById(objId);
if (obj.offsetHeight < hBlock)
{
obj.style.height = (obj.offsetHeight + 5) + "px";
setTimeout (function(){Show(objId, hBlock)}, 1);
}
if(obj.offsetHeight == hBlock)
{
obj.style.height = 100 + "%";
}
}
но почему-то высота становится 188px(если hBlock задаю 185)
хотя если вместо
obj.style.height = 100 + "%";
вствить, например
obj.style.height = 250 + "px";
то всё работает, проблема именно с процентами
Может подкаже кто-нибудь. Заранее спасибо.