Ich versuche, Dmitry Semenovs PhotoSwipe() mit dem Ajax Type
seines Magnific Popup (link) zu kombinieren. Genauer gesagt, habe ich einen Link auf meine index.html
Datei. Wenn Sie darauf klicken, wird ein Ajax Type
Magnific Popup angezeigt, das den Inhalt von other.html
anzeigt. In diesem Popup (d. H. Innerhalb der Datei other.html
) befindet sich eine PhotoSwipe-Galerie von Bildern. Wenn ich auf die Bilder klicke, wird die PhotoSwipe-Galerie wie erwartet angezeigt und es funktioniert einwandfrei. Wenn ich jedoch auf die Schaltfläche zum Schließen (das Symbol "x") klicke oder die ESC-Taste drücke, werden sowohl PhotoSwipe als auch Magnific Popup geschlossen. Wie kann ich dieses Verhalten ändern, sodass nur das PhotoSwipe-Popup geschlossen wird? Gibt es eine Möglichkeit, das Magnific Popup zu "deaktivieren", während das PhotoSwipe-Popup angezeigt wird, sodass das Magnific Popup nicht auf Klicks oder das Drücken von Tasten reagiert, bis das PhotoSwipe geschlossen ist?Kombinieren PhotoSwipe mit Magnific Popup (Ajax Typ)
Ich habe nur ein sehr grundlegendes Wissen über JavaScript, also würde ich wirklich einen "Hand-Holding" -Ansatz für die Antwort schätzen.
Danke, das funktioniert tatsächlich! Dies hat mich jedoch dazu gebracht, ein weiteres Problem zu entdecken: Magnific fügt seiner "Schließen" -Schaltfläche in der oberen rechten Ecke des PhotoSwipe-Popup-Fensters hinzu und verhindert, dass ich auf die Schließen-Schaltfläche von PhotoSwipe klicken kann. Das führt mich zu der Frage: Gibt es eine Möglichkeit, alle Magnific-Funktionen zu deaktivieren, solange PhotoSwipe initiiert wurde? – Alarik
Sie sollten in der Lage sein, die Platzierung des "x" entweder über die Option closeBtnInside in Magnific anzupassen (unsicher, ob es in PhotoSwipe etwas Ähnliches gibt) oder CSS für '.button.mfp-close' anzupassen. Eine andere Möglichkeit, wenn es in Ihrem Fall funktioniert, könnte sein, das Magnific-Popup zu schließen, wenn Sie PhotoSwipe öffnen, und es dann wieder zu öffnen, wenn das PhotoSwipe-Close-Ereignis aufgerufen wird. Jemand hat das in dieser Geige gemacht, außer mit zwei Instanzen von Magnific: https://jsfiddle.net/matthieuG/zt4coq8f/1/ –
Ich habe versucht, das "x" loszuwerden, indem ich '$ ('. Mfp-close') hinzugefügt habe .css ('visibility', 'hidden'); 'zu dem Skript, das PhotoSwipe initiiert. Dies entfernt sowohl das "x" auf dem PhotoSwipe als auch das auf dem Magnific. Ich möchte die 'Sichtbarkeit' wieder auf' sichtbar' setzen, wenn PhotoSwipe geschlossen wird, aber ich kann es nicht zum Laufen bringen. Warum wird 'var el = document.getElementsByClassName ('mfp-close') nicht hinzugefügt? \t \t el.style.visibility = "visible"; 'um die' close' Funktion zu arbeiten? Gibt es eine Möglichkeit, dies auf diese Weise zu tun? – Alarik