Ich habe mir das jetzt angesehen, funktioniert so weit einwandfrei. Wenn ein Bild groß ist, und man klickt auf das gleiche kleine wird verkleinert und gleich wieder vergrößert, wahrscheinlich ist es das, was Du meinst. Kann man leicht unterbinden, indem man prüft ob beide Bilder gleich sind:
Code
// Ist kein vergößertes Bild vorhanden?
if (!document.querySelector('figure.ovl.large')) {
// Bild sofort vergrößern:
enlargeIt(event.target);
} else {
// Unterscheidet sich das geklickte Bild von dem großen
if (event.target.getAttribute('src')
!= ovl.querySelector('img').getAttribute('src')) {
// Das aktuell vergrößerte Bild verkleinern:
ovl.classList.remove('large');
// Vergrößern des neuen Bildes vormerken:
ovl.dataset.toEnlarge = event.target.getAttribute('src');
}
}
Alles anzeigen
Weil der Browser eine relative URL zu einer vollständigen ergänzt, müssen wir konsequent mit getAttribute arbeiten damit die Vergleiche funktionieren, auch in dieser Zeile:
Natürlich würde es auch anders herum gehen: Konsequent mit der vollständigen URL arbeiten.