【问题标题】:Using a img src prototype in a slider to change the slider image在滑块中使用 img src 原型来更改滑块图像
【发布时间】:2024-05-16 14:05:01
【问题描述】:

我正在尝试构建一个画廊模式滑块。到目前为止,我可以使用目标 src 打开显示正确图像的模式。如何使用相同的 src 属性在单击或下一个或上一个 btn 时更改模态图像?

html:

<div class="galleryModal">

            <div class="galleryModal__imgContainer">
                <span id="closeModal" class="closeBtn">&times</span>

                <img src="/dist/images/gal1.jpg" alt="modal main image" class="galleryModal__img current">

                <div class="galleryModal__controls">
                    <svg class="prevBtn modalBtn">
                        <use xlink:href="/dist/images/sprite.svg#icon-play3"></use>
                    </svg>
                    <svg class="nextBtn modalBtn">
                        <use xlink:href="/dist/images/sprite.svg#icon-play3"></use>
                    </svg>
                </div>
            </div>

        </div>

JS:

let myImages = document.querySelectorAll('.gallery__img');
let modal = document.querySelector('.galleryModal');
let closeBtn = document.querySelector('.closeBtn');
let current = document.querySelector('.current');
let next = document.querySelector('.nextBtn');
let prev = document.querySelector('.prevBtn');

console.log(myImages);


//OPEN MODAL ON IMAGE CLICK
myImages.forEach(img => {
    img.addEventListener('click', (e) => {
        modal.style.display = 'block';
        current.src = e.target.src;
    })
})

//CLOSE MODAL
closeBtn.addEventListener('click', () => {
    modal.style.display = 'none';
})

【问题讨论】:

    标签: javascript modal-dialog


    【解决方案1】:

    我的理解是,单击图像时您有图像网格,您需要在弹出窗口中显示该图像,然后单击下一个/上一个按钮显示其他图像。

    检查这个有效的 sn-p here。尝试使用这些示例 sn-p 更改您的代码。您将轻松实现。

    希望这会有所帮助。

    【讨论】:

    • 谢谢你,但我试图避免使用一个插件,我用它作为自己编写它的练习。我有它,所以单击的图像是模式打开时出现的图像。只是想找出点击下一个/上一个来显示其他画廊图像的最有效方式。感谢您的帮助。
    • 操作。你没有在问题中提到这一点。所以提供了我的建议。