[英]js modal popup value get stacked
I want to show a modal popup when the user clicked a button, but it keeps adding to the innerHTML我想在用户单击按钮时显示模式弹出窗口,但它不断添加到 innerHTML
<div class="popup-container hide">
<div class="popup-wrapper">
<!-- <div class="popup-content"> -->
<!-- </div> -->
<div class="order-container">
<div class="value-container">
<button class="minusBtn"><img src="icon/minus.png" alt="" width="30px"></button>
<div class="value">1</div>
<button class="plusBtn"><img src="icon/plus.png" alt="" width="30px"></button>
</div>
<button class="orderBtn">Add To Cart</button>
</div>
</div>
</div>
Here I create a new div
and insert it into the parent, and showing the clicked data with literal template在这里,我创建了一个新的
div
并将其插入到父级中,并使用文字模板显示单击的数据
let content = document.createElement('div');
content.classList.add('popup-content');
content.innerHTML = `
<div class="popup-image">
<img src="mcd/${item.img}" alt="">
</div>
<div class="popup-name">
${item.name}
</div>
<div class="popup-price">
${item.price}
</div>
`;
let wrapper = document.querySelector('.popup-wrapper');
let orderContainer = document.querySelector('.order-container');
wrapper.insertBefore(content, orderContainer);
You need to remove all existing .popup-content
elements before you insert a new one if you want only one to appear.如果您只想显示一个,则需要先删除所有现有的
.popup-content
元素,然后再插入一个新元素。
document.querySelectorAll('.popup-content').forEach(el => el.remove());
let content = document.createElement('div');
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.