Tak na próbę i z ciekawości przedstawię kod JS, który obsługuje galerię z oknami modalnymi. Oczywiście zdaję sobie sprawę, że tutaj za dużo do oceny nie ma w porównaniu z innymi projektami. Ale być może coś wartego poprawki w moim stylu wypatrzycie...
let modal_okno = document.getElementById("modal_okno");
let modal_obraz = document.getElementById("modal_obraz");
let obrazki = document.getElementsByClassName("mini");
let indeks;
// klikniÄcie dowolnego obrazka wyĹwietla okno modal
for (let i = 0 ; i < obrazki.length ; i++)
{
obrazki[i].onclick = function()
{
modal_okno.style.display = "block";
indeks = this.id;
pokaz_obraz();
}
}
// przyisk X (zamknij)
document.getElementById("modal_zamknij").onclick = function()
{
modal_okno.style.display = "none";
}
// przycisk PREV
document.getElementById("modal_prev").onclick = function()
{
lewo_prev();
}
// przycik NEXT
document.getElementById("modal_next").onclick = function()
{
prawo_next();
}
// obsĹuga strzaĹek lewa/prawa z klawiatury
document.onkeydown = function(e)
{
if (modal_okno.style.display == "block")
{
// lewa
if (e.keyCode == 37)
{
lewo_prev();
}
// prawa
if (e.keyCode == 39)
{
prawo_next();
}
}
}
function pokaz_obraz()
{
modal_obraz.src = "(" + indeks + ").jpg";
document.getElementById("modal_numer").textContent = indeks;
}
function lewo_prev()
{
if (indeks > 1) {indeks--;}
pokaz_obraz();
}
function prawo_next()
{
if (indeks < obrazki.length) {indeks++;}
pokaz_obraz();
}