2013-10-09 6 views
1

Я работаю над FadeIn и FADEOUT функций с использованием чистого JavaScript, вот код:FadeIn/Затухание функции не работают

<script> 
function fadeIn(el, ms) { 
    var opacity = 1, 
    interval = 50, 
    gap = interval/ms; 

    window.setInterval(function{ 
     opacity -= gap; 
     el.style.opacity = opacity; 
     if(opacity <= 0) { 
      window.clearInterval(fading); 
      el.style.display = 'none'; 
     } 
    }, interval); 
} 
function fadeOut(el, ms){ 
    var opacity = 0, 
    interval = 50, 
    gap = interval/ms; 
    el.style.display = 'block'; 
    el.style.opacity = opacity; 
    window.setInterval(function{ 
     opacity += gap; 
     el.style.opacity = opacity; 
     if(opacity >= 1) { 
      window.clearInterval(fading); 
     } 
    }, interval); 
} 
</script> 

И в секции тела, код:

<input type="button" onclick="fadeOut(this, 50);" value="hi" /> 

Немедленно при загрузке страницы дает ошибку «ошибка неожиданного токена» («:

window.setInterval(function{ 

И когда я пытаюсь щелкнуть кнопку ввода, т ошибка: «не могу найти переменную FadeIn»

+0

вы не можете использовать setInterval в пределах функции, держите ее снаружи и вызывайте свою функцию в setInterval – Anup

ответ

0

Вы упускаете круглые скобки для объявления функции:

setTimeout(function() { 

}); 

Обратите внимание на добавление () после function ключевого слова. Вы должны сделать это для обоего setTimeout функций в fadeIn и fadeOut

+0

Это позаботится об ошибках, но кнопка все равно не исчезнет. –

+0

@TekiTech В этом случае у вас есть отдельная проблема. Вы должны задать другой вопрос. – CodingIntrigue

0

Вот правильный код вам нужно добавить() после «анонимных функций», написанных в window.setInterval(function{

<script> 
function fadeIn(el, ms) { 
    var opacity = 1, 
    interval = 50, 
    gap = interval/ms; 

    window.setInterval(function(){ 
     opacity -= gap; 
     el.style.opacity = opacity; 
     if(opacity <= 0) { 
      window.clearInterval(fading); 
      el.style.display = 'none'; 
     } 
    }, interval); 
} 
function fadeOut(el, ms){ 
    var opacity = 0, 
    interval = 50, 
    gap = interval/ms; 
    el.style.display = 'block'; 
    el.style.opacity = opacity; 
    window.setInterval(function(){ 
     opacity += gap; 
     el.style.opacity = opacity; 
     if(opacity >= 1) { 
      window.clearInterval(fading); 
     } 
    }, interval); 
} 
</script> 
Смежные вопросы