Показать сообщение отдельно
  #1 (permalink)  
Старый 06.03.2012, 02:09
Новичок на форуме
Отправить личное сообщение для lesh1j Посмотреть профиль Найти все сообщения от lesh1j
 
Регистрация: 06.03.2012
Сообщений: 6

задать высоту div в процентах
Здравствуйте. Есть функция, которая плавно раворачивает 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";

то всё работает, проблема именно с процентами
Может подкаже кто-нибудь. Заранее спасибо.
Ответить с цитированием