@mijanj

Как заменить шесть «function» на одну?

У меня есть 6 однотипных функций, в них отличаются лишь названия, и ID изменяемых объектов.

Как можно вот это все заменить лишь одной функцией? Я пока что не сильно разбираюсь в JavaScript, но вроде как, можно как-то получить предыдущий элемент(хотя у меня он, не совсем предыдущий, вместо поиска элемента по ID.

Буду очень благодарен, за объяснение
  • Вопрос задан
  • 112 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Вырезать инлайновые обработчики, добавить элементам общий класс, например: class="xxx". Повесить делегированный обработчик, внутри которого проверять наличие этого класса:

document.addEventListener('input', ({ target: t }) => {
  if (t.classList.contains('xxx')) {
    t.previousElementSibling.querySelector('.p_value').innerText = t.value;
  }
});
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Поскольку и разметка повторяется, тут 6 одинаковых по устройству Компонентов.
Предлагаю сделать центром всего — Данные. Где и компоненты описаны и выбранные значения. В данных же хранить ссылки на элементы, в которые отрисовывать изменяющееся значение. И вообще держать текущее «состояние» игры.
Разметку создавать налету из данных в самом начале.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы