Показать сообщение отдельно
  #1 (permalink)  
Старый 24.09.2010, 20:45
Новичок на форуме
Отправить личное сообщение для TanatoS Посмотреть профиль Найти все сообщения от TanatoS
 
Регистрация: 24.09.2010
Сообщений: 3

Скрипт не полностью работает в IE, однако в Опере, FireFox, Chrome все хорошо
имеется div: <div id="message" class="" style="opacity: 0; filter: alpha(opacity=0);"></div>
и скрипт:
var hT, sT, dT; //таймеры

function SmoothShow(objId, x)
{
   var obj = document.getElementById(objId);
   op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100; //определяем значение прозрачности

   if(op < x) //если значение прозрачности меньше 1 то:
   {
      clearTimeout(hT); 
      op += 0.05;   //переменная хранящая значение прозрачности которое сейчас будем устанавливать
      obj.style.opacity = op;
      obj.style.filter='alpha(opacity='+op*100+')';
      sT=setTimeout('SmoothShow(\''+objId+'\', '+x+')',50); //данная функция запускается с задержкой 50 мс, пока прозрачность не будет равна 1
   }
   if (op==1)   { //если прозрачность = 1, то после задержки в 3 секунды запускается функция которая по аналогичному принципу обеспечивает исчезание
       clearTimeout(dT);
       dT=setTimeout("SmoothHide('message', 0)", 3000);
   }
}

function SmoothHide(objId, x)
{
   var obj = document.getElementById(objId);
   op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;

   if(op > x)
   {
      clearTimeout(sT);
      op -= 0.05;
      obj.style.opacity = op;
      obj.style.filter='alpha(opacity='+op*100+')';
      hT=setTimeout('SmoothHide(\''+objId+'\', '+x+')',25);
   }
   if (op==x)   {
       document.getElementById("message").style.display = "none";
   }
}


Скрипт должен обеспечивать плавное появление и плавное исчезание, в нормальных браузерах все работает, прям никаких нареканий, а вот IE не хочет, доходит только до середины скрипта, сообщение плавно появляется и на этом все. Функция появления вызывается из другой функции, но я думаю не совсем важно из какой, если в остальных браузерах работает
P.S. еще раз хочу обратить внимание на то, что в остальных браузерах работает!!!

Последний раз редактировалось TanatoS, 24.09.2010 в 20:49.
Ответить с цитированием