gpt4 book ai didi

javascript - 从多个 div 元素打开 Modal

转载 作者:行者123 更新时间:2023-12-03 04:56:23 24 4
gpt4 key购买 nike

如何让所有其他 .open-img 元素打开我的模态框?

最终我想用内部图像触发模态,我确信我应该使用 .this,但无法让它工作。

代码笔:http://codepen.io/Middi/pen/EWxKLZ

Javascript

var modal = document.querySelector(".modal");
var modalBg = document.querySelector(".modal-bg");
var closeButton = document.querySelector(".close-button");
var openImg = document.querySelector(".open-img");

closeButton.addEventListener("click", function() {
modal.classList.toggle("closed");
modalBg.classList.toggle("closed");
});

this.openImg.addEventListener("click", function() {
modal.classList.toggle("closed");
modalBg.classList.toggle("closed");
});

提前致谢。

最佳答案

您需要在每个 open-img 元素上插入 eventListener

for (var i = 0; i < openImg.length; i++) {
openImg[i].addEventListener('click', function(){
modal.classList.toggle("closed");
modalBg.classList.toggle("closed");
})
}

或使用ES6功能Array#from:

Array.from(openImg).forEach(v => v.addEventListener('click', function(){
modal.classList.toggle("closed");
modalBg.classList.toggle("closed");
}));

<强> Codepen link

关于javascript - 从多个 div 元素打开 Modal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42417214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com