var popup = document.querySelectorAll('.popup');
var btn = document.querySelectorAll('.card-body button');
var btn_close = document.querySelectorAll('.popup-hide.popup button');
Array.from(btn).forEach(function(btnArray, i) {
btnArray.addEventListener('click', function() {
popup[i].style.display = 'block';
});
});
Array.from(btn_close).forEach(function(btn_closeArray, i) {
btn_closeArray.addEventListener('click', function() {
popup[i].style.display = 'none';
});
});
.cards {overflow: auto;white-space: nowrap;margin-top: 10px;}
.options a {margin-left: 10px;text-decoration: none;}
.card {display: inline-block;margin: 5px; height: 200px ;}
.bgimg {height:410px;}
.scm a {text-decoration: none;}
.fb:hover {color:#4267B2}
.insta:hover {color: #FD1D1D;}
.gm:hover {color: #B23121;}
.centring {margin: auto; display: flex;justify-content: center; align-items: center;}
.popup-hide { position: fixed;
padding: 5px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) ;
transition: 100ms ease-in-out;
border: 1px solid black;
border-radius: 10px;
z-index: 10;
background-color:white;
width: 800px;
max-width: 80%;
display: none;}
.popup-show { position: fixed;
padding: 5px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) ;
transition: 100ms ease-in-out;
border: 1px solid black;
border-radius: 10px;
z-index: 10;
background-color:white;
width: 800px;
max-width: 80%;
display: block;}
<div class="container-full" id="container">
<div class="product-cards>
<div class="card" style="width:250px;height: 200px;">
<img class="card-img-top" src="1.jpg" alt="Card image">
<div class="card-body">
<button class="btn btn-primary" id="showpopup">Open</button>
</div>
</div>
<div class="card" style="width:250px;height: 200px;">
<img class="card-img-top" src="2.jpg" alt="Card image">
<div class="card-body">
<button class="btn btn-primary" id="showpopup">Open</button>
</div>
</div>
</div>
<div class="product-popups">
<div class="popup-hide popup" id="popup">
<button class="btn btn-primary" id="hidepopup">×</button>
<hr>
<div class="row">
<div class="col-sm-4">
<img style="width: 200px;max-width: 90%;" src="1.jpg" alt="">
</div>
<div class="col-sm-8">
price:200DA <br>
<br><br>
</div>
</div>
</div>
<div class="popup-hide popup" id="popup">
<button class="btn btn-primary" id="hidepopup">×</button>
<hr>
<div class="row">
<div class="col-sm-4">
<img style="width: 200px;max-width: 90%;" src="2.jpg" alt="">
</div>
<div class="col-sm-8">
price:300DA <br>
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Deleniti, molestiae totam aliquam
quas optio praesentium! Soluta id ea est maxime laudantium, iure voluptatibus voluptatum et nemo modi reprehenderit bea
tae. Dolorum?
<br><br>
</div>
</div>
</div>;
</div>
</div>
</p>
</div></answer2>
<exanswer2><div class="answer" i="65027959" l="4.0" c="1606406925" m="1606455788" v="2" a="cy5rdXpuZXRzb3Y=" ai="13573444">
<p>I have completely transformed your JavaScript code without compromising functionality. The updated logic now relies on the `forEach()` method and eliminates the need for function calls within the HTML structure.</p>
<p><div>
<div>
<pre class="lang-js"><code>var popup = document.querySelectorAll('.popup');
var btn = document.querySelectorAll('.card-body button');
var btn_close = document.querySelectorAll('.popup-hide.popup button');
Array.from(btn).forEach(function(btnArray, i) {
btnArray.addEventListener('click', function() {
popup[i].style.display = 'block';
});
});
Array.from(btn_close).forEach(function(btn_closeArray, i) {
btn_closeArray.addEventListener('click', function() {
popup[i].style.display = 'none';
});
});
.cards {overflow: auto;white-space: nowrap;margin-top: 10px;}
.options a {margin-left: 10px;text-decoration: none;}
.card {display: inline-block;margin: 5px; height: 200px ;}
.bgimg {height:410px;}
.scm a {text-decoration: none;}
.fb:hover {color:#4267B2}
.insta:hover {color: #FD1D1D;}
.gm:hover {color: #B23121;}
.centring {margin: auto; display: flex;justify-content: center; align-items: center;}
.popup-hide { position: fixed;
padding: 5px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: 100ms ease-in-out;
border: 1px solid black;
border-radius: 10px;
z-index: 10;
background-color: white;
width: 800px;
max-width: 80%;
display: none;}
.popup-show { position: fixed;
padding: 5px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: 100ms ease-in-out;
border: 1px solid black;
border-radius: 10px;
z-index: 10;
background-color:white;
width: 800px;
max-width: 80%;
display: block;}
<div class="container-full" id="container">
<div class="product-cards">
<div class="card" style="width:250px;height: 200px;">
<img class="card-img-top" src="1.jpg" alt="Card image">
<div class="card-body">
<button class="btn btn-primary" id="showpopup">Open</button>
</div>
</div>
<div class="card" style="width:250px;height: 200px;">
<img class="card-img-top" src="2.jpg" alt="Card image">
<div class="card-body">
<button class="btn btn-primary" id="showpopup">Open</button>
</div>
</div>
</div>
<div class="product-popups">
<div class="popup-hide popup" id="popup">
<button class="btn btn-primary" id="hidepopup">×</button>
<hr>
<div class="row">
<div class="col-sm-4">
<img style="width: 200px;max-width: 90%;" src="1.jpg" alt="">
</div>
<div class="col-sm-8">
price:200DA <br>
<br><br>
</div>
</div>
</div>
<div class="popup-hide popup" id="popup">
<button class="btn btn-primary" id="hidepopup">×</button>
<hr>
<div class="row">
<div class="col-sm-4">
<img style="width: 200px;max-width: 90%;" src="2.jpg" alt="">
</div>
<div class="col-sm-8">
price:300DA <br>
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Deleniti, molestiae totam aliquam
quas optio praesentium! Soluta id ea est maxime laudantium, iure voluptatibus voluptatum et nemo modi reprehenderit bea
tae. Dolorum?
<br><br>
</div>
</div>
</div>
</div>
</div>