Задать вопрос
@idpgg

Нужна помощь по сокращению кода?

<div class="car-selection" id="wrapper">
        <p class="fleet" id="moon" data-class="moon">луна</p>
        <p class="fleet" id="sun" data-class="sun">Солнце</p>
        <p class="fleet" id="seas" data-class="seas">seas</p>
      </div>

Это кнопки на которые клацаешь и слайдер переключается

let moon = document.querySelector("#moon ")
let sun = document.querySelector("#sun ")
let seas = document.querySelector("#seas")
let offset = 0;

moon.onclick = function  (){
    if (offset === 0 || offset === 2100) {
        offset = 1050
    }  
    sliderLine.style.left = -offset + 'px'
  }

  
  sun.onclick = function  (){
   
    if (offset <= 1050 && offset ) {
        offset = 2100
    }  
    sliderLine.style.left = -offset + 'px'
  }
 
  seas.onclick = function (){
   
    if (offset > 0 ) {
        offset = 0
    }  
    sliderLine.style.left = -offset + 'px'
  }

как его можно написать с помощью обработчика событий
или подскажите как сделать это
есть 3 кнопки, при нажатии на каждую должа вызываться функция которая меняет расположения слайдера в нужное мне (пока я учусь нужно разобраться как это работает что бы в будущем было проще)
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
v3shin
@v3shin
Веб-шаман
<div class="car-selection" id="wrapper">
    <p class="fleet" data-position="1050">луна</p>
    <p class="fleet" data-position="2100">Солнце</p>
    <p class="fleet" data-position="0">seas</p>
</div>


document.querySelectorAll('.fleet').forEach(fleet => {
    fleet.addEventListener('click', function () {
        sliderLine.style.left = -this.dataset.position + 'px';
    });
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы