Lupusregina[beta]
я улучшил код
Lupusregina[beta]
Denis
Пожалуй нет
Lupusregina[beta]
я добавил возможность сохранять состояниее не чаще 1 в заданное время
Lupusregina[beta]
Denis
Юзай гит
Lupusregina[beta]
Denis
ок
Lupusregina[beta]
Lupusregina[beta]
Vyacheslav
а как сделать так, чтобы по клику обработчик возвращал полученные data аттрибут и его можно было передать в другую функцию
Denis
Lupusregina[beta]
Vyacheslav
Lupusregina[beta]
ну текст скопируй
Vyacheslav
const levelChoice = () => {
let levels = document.querySelectorAll('.level__item');
levels.forEach( level => {
level.addEventListener('click', () => {
currLevel = level.getAttribute('data-value');
return currLevel;
});
});
};
levelChoice();
console.log(currLevel);
Vyacheslav
currLevel у меня объявлен за пределами этой функции выше
Lupusregina[beta]
Vyacheslav
но так и остается undefined так как обработчик ничего не возвращает
Denis
Vyacheslav
а как тогда быть?
Vyacheslav
есть какая-нибудь альтернатива
Vyacheslav
так я точно также писал
Vyacheslav
так оно в консоль выводит, а как можно вывести жэту переменную за пределы функции, чтобы передать затем в другую функцию?
Vyacheslav
вот в чем вопрос
Denis
javascript
let currLevel;
const levelChoice = () => {
let levels = document.querySelectorAll('.level__item');
levels.forEach( level => {
level.addEventListener('click', (e) => {
currLevel = e.target.dataset.value;
console.log(currLevel);
});
});
};
levelChoice();
Syntax Highlight Bot
Denis
Она за пределами
Vyacheslav
Vyacheslav
в консоль выводит. за пределами undefined
Vyacheslav
ты напиши console.log(currLevel); за пределами фнкции и посмотри, что получается
Denis
javascript
let currLevel;
const levelChoice = () => {
let levels = document.querySelectorAll('.level__item');
levels.forEach( level => {
level.addEventListener('click', (e) => {
currLevel = e.target.dataset.value;
});
});
};
setTimeout(() => {
console.log(currLevel);
}, 10000);
levelChoice();
Syntax Highlight Bot
Denis
Тебе надо нажать раньше чем 10 секунд
Syntax Highlight Bot
Lupusregina[beta]
вот что получилось
Denis
Думаешь он что-то поймет?
Vyacheslav
ни фига себе???
Lupusregina[beta]
Vyacheslav
пойму. я промисы знаю
Denis
Нуну
Denis
Это имхо говнище
Denis
Намешано разных техник
Denis
Генераторы зачем то приплел
Denis
Это излишне
Denis
Мы знаем, что ты хороший кодер и так
Denis
Не стоит чудить. Но ты меня один хер не слушаешь, так что продолжай
Lupusregina[beta]
Denis
Я решил
Denis
Старайся как можно меньше менять чужой код
Denis
В чатиках
Vyacheslav
все равно что-то не то.
Denis
Vyacheslav
Vyacheslav
ладно. спасибо ребята. я лучше костыль сделаю из айдишников
Vyacheslav
через условия
Denis
Просто консоль лог отрабатывает раньше
Vyacheslav
а почему она не отрабатывает за предлами функции
Vyacheslav
ни раньше ни позже
Denis
Кто?
Lupusregina[beta]
Denis
Бред
Denis
Не было такой задачи
Denis
Вывести переменную за пределы функции
Denis
Это делает let
Vyacheslav
у меня let в самом начале кода
Vyacheslav
Denis
Ну
Vyacheslav
Denis
А кто должен отрабатывать?
Vyacheslav
64 строка в консоль выдает undefined
Denis
Да
Denis
Так и должно быть