const images = document.querySelectorAll('.image-container img');
console.log(images.length);
images.forEach((image) => { ... }
Jak widzisz document.querySelectorAll('.image-container img') można też wykorzystać do "pobrania ilości" obrazków.
Dodaj Event click do strzałek, który będzie ładował kolejny obrazek
document.querySelector('.popup-image img').src = images[0].getAttribute('src');
document.querySelector('.popup-image img').src = images[1].getAttribute('src');
...
document.querySelector('.popup-image img').src = images[images.length - 1].getAttribute('src');
do sprawdzenia indeksu obrazka klikniętego możesz skorzystać np. z e.target i indexOf.
[...images].indexOf(e.target);
images.forEach((image) => {
image.onclick = (e) => {
document.querySelector('.popup-image').style.display = "block";
document.querySelector('.popup-image img').src = image.getAttribute('src');
if (images)
console.log([...images].indexOf(e.target));
}
});
P.S.1
P.S.2 Ten zapis
elements.forEach((element) => {
element.onclick = (e) => {
...
}
});
można np. zapisać inaczej "używając": JavaScript Event Delegation