我正在为一个学习项目网站创建模特儿.有几张卡,每一张都在点击时打开不同的模式,这是没有问题的.
当我点击modal_content
以外的元素时,它工作得很好,但不是span
个元素.
这是我的代码.我知道这里很乱,很抱歉.你能帮我解决这个问题吗?我期望span在点击时关闭我的modals,但它没有发生.
var modals = document.getElementsByClassName("card_modal");
var cards = document.getElementsByClassName("card");
var spans = document.getElementsByClassName("closeDiv");
for (let i = 0; i < spans.length; i++) {
spans[i].onclick = function() {
for (let i = 0; i < modals.length; i++) {
console.log(i, modals[i].style.display)
modals[i].style.display = "none";
console.log(i, modals[i].style.display)
}
}
}
for (let i = 0; i < cards.length; i++) {
cards[i].onclick = function() {
modals[i].style.display = "block";
}
}
window.onclick = function(event) {
for (let i = 0; i < modals.length; i++) {
if (event.target == modals[i]) {
modals[i].style.display = "none";
}
}
}
<div class="card">
<div class="card_top">
<a class="card_image" href="#"> <img src="img/LOGO.jpg" alt="" /> </a>
</div>
<div class="card_bottom">
<a href="" class="card_title">"x" Type beat</a>
<div class="card_prices">
<div class="card_price">1500</div>
</div>
</div>
<div class="card_modal">
<div class="modal_content">
<span class="closeDiv">×</span>
<p>modal 1</p>
</div>
</div>
</div>
<div class="card">
<div class="card_top">
<a class="card_image" href="#"> <img src="img/LOGO.jpg" alt="" /> </a>
</div>
<div class="card_bottom">
<a href="" class="card_title">"x" Type beat</a>
<div class="card_prices">
<div class="card_price">1500</div>
</div>
</div>
<div class="card_modal">
<div class="modal_content">
<span class="closeDiv">×</span>
<p>modal 2</p>
</div>
</div>
</div>
提前谢谢您!