Как написать слайдер или хотя бы часть его, не понимаю...?

Как сделать слайдер, который берёт информацию из объекта js? То есть есть карточка, в каждой из ней предполагается слайдер, кнопки слайдера будут менять три вещи: заголовок, картинку и описание. Брать информацию предполагается из объекта в js. Вот разметка:

<div class="container">
        <div class="skills-wrapper">

            <div class="skill-card">
                
                    <h3 class="skill-card-title"></h3>
                    <img src="" class="skill-card-img">
                    <p class="skill-card-descr"></p>
               
                <span class="slide left"><img src="./img/skills/icon-left.svg" alt="left"></span>
                <span class="slide right"><img src="./img/skills/icon-right.svg" alt="right"></span>
            </div>
            

        </div>
    </div>

Вот javascript:

const skills = {
archery: {
    name: ['Базовая Стрельба', 'Продвинутая Стрельба', 'Экспертная Стрельба'],
    imageUrl: ['../img/skills/archery.jpg', '../img/skills/archery-adv.png', '../img/skills/archery-exp.png'],
    description: ['+10 % к урону (действует и на баллисту).', '+25 % к урону (действует и на баллисту).', '+50 % к урону (действует и на баллисту).']
},
airMagic: {
    name: ['Базовая Магия Воздуха', 'Продвинутая Магия Воздуха', 'Экспертная Магия Воздуха'],
    imageUrl: ['../img/skills/air-magic.png', '../img/skills/air-magic-adv.png', '../img/skills/air-magic-exp.png'],
    description: ['Уменьшает затраты маны на использование заклинаний.', 'Уменьшает затраты маны и увеличивает эффективность заклинаний.', 'Уменьшает затраты маны и максимально увеличивает эффективность заклинаний.']
},

}

let cardTitle = document.querySelector('.skill-card-title');
let cardImage = document.querySelector('.skill-card-img');
let cardDescr = document.querySelector('.skill-card-descr');

let leftBtn = document.querySelector('.left');
let rightBtn = document.querySelector('.right');

cardTitle.innerHTML = skills.archery.name[1];
cardImage.src = skills.archery.imageUrl[1];
cardDescr.innerHTML = skills.archery.description[1]

leftBtn.addEventListener('click', () => {
    cardTitle.innerHTML = skills.archery.name[0];
    cardImage.src = skills.archery.imageUrl[0];
    cardDescr.innerHTML = skills.archery.description[0];
})

rightBtn.addEventListener('click', () => {
    cardTitle.innerHTML = skills.archery.name[2]
    cardImage.src = skills.archery.imageUrl[2];
    cardDescr.innerHTML = skills.archery.description[2]; 
})

Css, если надо выложу.

Всё что у меня получается это одноразовая подстановка значений. Всё. Объясните, пожалуйста, как это сделать. И таких карточек будет, скажем штук 20. Но тут хотя бы, чтобы один слайдер заработал для начала.


Ответы (0 шт):