2010-09-17 6 views
0

Итак, я создал пользовательскую функцию для игры, над которой я работаю, одна из которых исчезает, а другая исчезает. Проблема заключается в том, что fadeOut работает, но исчезает .? В не ... странные Любые подсказки Смотрите ниже кодFadeIn javascript функция в Safari не работает, но FadeOut работает :(

эТО РАБОТАЕТ:.

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) 
} 
+0

ли 'game.log' показывает приращения? – RobertPitt

+0

ах да, забыл упомянуть об этом. да, это похоже на console.log ... пользовательская функция журнала, которую я создал. Таким образом, при постепенном исчезновении уменьшается непрозрачность. но по его постепенному исчезновению он остается на .1 и бесконечно петляет. – riter

+0

Вы пытались использовать двойной для непрозрачности? 'if (o.style.opacity> = 1.0)' – RobertPitt

ответ

3
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) 
} 

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

+0

+1 для' parseFloat.' – RobertPitt

+0

работает как шарм. хочу, чтобы я мог проголосовать ... – riter

Смежные вопросы