jQuery функция, не может заставить несколько setInterval () работать правильно - PullRequest
0 голосов
/ 20 февраля 2020

Я создаю плагин jQuery для добавления мигающих огней в div. У меня есть функция

$.fn.flashingLights = function(options) {
   ...
}

, которая добавляет свет в div.

В этой функции у меня есть следующий код для включения и выключения света.

function activateLamps(){
    for (var y=0; y<myOptions.rows; y++) {
        for (var z=0; z<(myOptions.columns*myOptions.onRatio); z++) {
            var cellaOn = Math.floor(Math.random()*myOptions.columns);
            $('#tr'+myOptions.uniqueName + y + ' .td' + cellaOn).removeClass('off');
            $('#tr'+myOptions.uniqueName + y + ' .td' + cellaOn).addClass('on');
        }
    }
}
function killLamps(){
    for (var y=0; y<myOptions.rows; y++) {
        for (var z=0; z<(myOptions.columns*myOptions.offRatio); z++) {
            var cellaOn = Math.floor(Math.random()*myOptions.columns);
            $('#tr'+myOptions.uniqueName + y + ' .td' + cellaOn).removeClass('on');
            $('#tr'+myOptions.uniqueName + y + ' .td' + cellaOn).addClass('off');
        }
    }
};

setInterval(activateLamps, myOptions.refreshRate);
setInterval(killLamps, myOptions.refreshRate);

проблема в том, что, если я добавлю два или более наборов источников света, будет работать только последний из них. Первый не включается и не выключается.

$(document).ready(function() {
    $(".left").flashingLights({
       ...options...
    });
    $(".right").flashingLights({
       ...options...
    });
});

Такое ощущение, что мне здесь не хватает чего-то действительно базового c, но я не могу понять, как получить все подходы огней на работу.

Буду признателен за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...