Программа "мерцает" изображениями молний одна картинка - раз в три секунды, вторая - раз в пять и третья - раз в семь через setInterval. При переходе на другую вкладку срабатывает clearInterval, при возвращении на вкладку setInterval опять включается.
Проблема в том, что первая функция, запускаемая через setInterval (интервал 3с), по какой-то причине запускается только ОДИН раз - через три секунды после запуска страницы, и больше нет. Если перейти на другую вкладку и вернутся - ОНА РАБОТАЕТ ИНТЕРВАЛАМИ так, как и должна.
При чём в том же коде есть ещё две абсолютно аналогичные функции с интервалами 5 и 7 секунд, они работают нормально.
Я просто не понимаю, что здесь не так :(
Какая-то очевидная опечатка или что-о? х_х
function lightingOne(){
$("#lightning1").fadeIn(250).fadeOut(250);
console.log("Я есть, просто прячусь"); //сперва я правда думала, что интервал работает и проблема в картинке, ага
}
function lightingTwo(){ //функция, работающая нормально и до, и после перехода на другую вкладку
$("#lightning2").fadeIn(250).fadeOut(250);
console.log("А меня видно");
}
function lightingThree(){ //функция, работающая нормально и до, и после перехода на другую вкладку
$("#lightning3").fadeIn(250).fadeOut(250);
}
$(document).ready(function(){
var goL1, goL2, goL3;
function letBeLight(){
goL1 = setInterval(function(){
lightingOne();
}, 3000);
goL2 = setInterval(function(){
lightingTwo();
}, 5000);
goL3 = setInterval(function(){
lightingThree();
}, 7000);
};
function giveMeDark(){
window.clearInterval(goL1);
window.clearInterval(goL2);
window.clearInterval(goL3);
};
letBeLight();
window.onfocus = letBeLight;
window.onblur = giveMeDark;
}
*Айдишник ведёт к изображениям, которые "мерцают" (открываются и закрываются в теч. полусекунды).