Виктор Майоров, прекрасное решение! спасибо вам огромное!
проблема с крестиком решилась добавлением pointer-events: none, поскольку на него отдельно и не должно быть нажатия - он же просто иконка, показывающая состояние
Большое спасибо за ваш ответ!
Очень интересно посмотреть, как мыслят профессионалы.
Я решила проблему при помощи замыкания)
function createUniqueNumberGenerator (min, max) {
const previousNumbers = []; //тут будут храниться значения, которые уже поиспользовали
return function () {
let currentValue = getRandomInteger(min, max); //получаю случайное значение из другой фукции
if (previousNumbers.length >= max - min + 1) {
return null;
} //проверяю, что еще не перебрала все возможные значения
while (previousNumbers.includes(currentValue)) {
currentValue = getRandomInteger(min, max);
} //жду, пока не сгенерируется число, которого еще нет среди использованных
previousNumbers.push(currentValue); //если такое нашлось, кидаю его в использованные
return currentValue; // отдаю полученное уникальное число!
};
}
проблема с крестиком решилась добавлением pointer-events: none, поскольку на него отдельно и не должно быть нажатия - он же просто иконка, показывающая состояние