简体   繁体   English

js模态弹出值被堆叠

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM