Отображение и фильтрация изображений с помощью события Click vanillajsJavascript

Форум по Javascript
Ответить
Anonymous
 Отображение и фильтрация изображений с помощью события Click vanillajs

Сообщение Anonymous »

Я хочу динамически отображать изображения и перечислять элементы. Затем я хочу отфильтровать изображения на основе элемента списка (жанр), который нажимается. Есть 2 изображения на элемент списка. Элементы списка отображаются в середине страницы с одним изображением по обе стороны от страницы. Мне не обязательно нужен ответ, но дайте мне знать, если я пойду в правильном направлении, а если нет, какие ошибки я делаю. < /P>
html < /p>


    < /code>
    js < /p>
    const imageContainer1 = document.querySelectorAll('.image-container-1');
    const imageContainer2 = document.querySelectorAll('.image-container-2');
    const genreList = document.getElementById('genre-list');
    const albums = [
    {
    id: 1,
    genre: 'Rock',
    image1: '/images/album-covers/jimihindrix-areyouexperienced.jpg',
    image2: '/images/album-covers/thedoors.jpg',
    },
    {
    id: 2,
    genre: 'Jazz',
    image1: '/images/album-covers/somethinelse.jpg',
    image2: '/images/album-covers/MilesDavis-BitchesBrew.jpg',
    },
    {
    id: 3,
    genre: 'Hiphop',
    image1: '/images/album-covers/mfdoom-mmfood.jpg',
    image2: '/images/album-covers/nas-illmatic.jpg',
    },
    {
    id: 4,
    genre: 'Soul',
    image1: '/images/album-covers/aliciakeys-diary.jpeg',
    image2: '/images/album-covers/ettajames-tellmama.jpg',
    },
    {
    id: 5,
    genre: 'Electronic',
    image1: '/images/album-covers/burial-tunes.jpg',
    image2: '/images/album-covers/björk-homogenic.jpg',
    },
    {
    id: 6,
    genre: 'Classic',
    image1: '/images/album-covers/sparks-kimonomyhouse.jpg',
    image2: '/images/album-covers/chakakhan-rufus.jpg',
    },

    {
    id: 7,
    genre: 'Pop',
    image1: '/images/album-covers/beatles-sgtpeppers.jpg',
    image2: '/images/album-covers/prince-purplerain.png.webp',
    },
    ];

    const handleClick = (e) => {
    const clickedElement = e.target.id;
    albums.map((album) => {
    genreList.innerHTML = `[*]${album.genre}`;
    });
    document.getElementById(`${albums.genre}`).addEventListener('click', () => {
    albums.filter((p) => {
    if (p.name === clickedElement) {
    imageContainer1.innerHTML = `
    Изображение
    `;
    imageContainer2.innerHTML = `
    Изображение
    `;

    }
    });
    });
    };

    document.addEventListener('DOMContentLoaded', (e) => {
    handleClick(e);
    });



    Подробнее здесь: https://stackoverflow.com/questions/797 ... -vanillajs
    Ответить

    Быстрый ответ

    Изменение регистра текста: 
    Смайлики
    :) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
    Ещё смайлики…
       
    К этому ответу прикреплено по крайней мере одно вложение.

    Если вы не хотите добавлять вложения, оставьте поля пустыми.

    Максимально разрешённый размер вложения: 15 МБ.

    Вернуться в «Javascript»