Функция FadeIn JavaScript в Safari не работает, но FadeOut работает :( - PullRequest
0 голосов
/ 17 сентября 2010

Итак, я сделал пользовательскую функцию для игры, над которой я работаю, одна исчезает, другая исчезает. Проблема в том, что fadeOut работает, но затухание IN не ... странно. Есть какие-нибудь подсказки? Смотрите код ниже.

ЭТО РАБОТАЕТ:

fadeOut:function(o,duration)
{
    o.style.opacity = 1;
    o._anim = function()
    {
         if(o.style.opacity <=0)
         {
             clearInterval(o._animInt);
             return false;
         }
         o.style.opacity -= .1;
         game.log("opacity:" + o.style.opacity);
    }
    o._animInt = setInterval(o._anim,duration / 10)
}

ЭТО НЕ:

fadeIn:function(o,duration)
{
    o.style.opacity = 0;
    o._anim = function()
    {
        if(o.style.opacity >= 1)
        {
            clearInterval(o._animInt);
            return false;
        }
        o.style.opacity += .1;
        game.log("opacity:" + o.style.opacity);
    }
    o._animInt = setInterval(o._anim,duration / 10)
}

1 Ответ

3 голосов
/ 17 сентября 2010
function fadeIn (o,duration) {
   o.style.opacity = 0;

   o._anim = function() {
      var opacity = parseFloat(o.style.opacity);
      if(opacity >= 1) { clearInterval(o._animInt); return false;}
      o.style.opacity = opacity + 0.1;
      game.log("opacity:" + o.style.opacity);
   }

   o._animInt = setInterval(o._anim,duration / 10)
}

Атрибут opacity представляет собой строку.Сначала проанализируйте, сравните, увеличьте, затем сохраните.Это работало для меня в Chrome и Firefox.

...