• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Javascripts die sich kreuzen?

Publisher

Neues Mitglied
(Gelöst) Javascripts die sich kreuzen?

Hallo Miteinander!

Link: Umbau

Ich habe eine Website mit CMS MadeSimple (1.9.4.3) erstellt mit dem Gallery Modul (1.4.4)

In dem Gallerietemplate habe ich für die grössere Ansicht des Bildes im JS File eine Anpassung gemacht damit Bild verlinkt ist auf sich selber und in einem Lytebox sich öffnen soll, das funktioniert auch. Lytebox verwendet von Lytebox

Wenn man in der Gallerie ohne die Thumbnails zu verwenden aufs grössere Bild klickt, erscheint die Lytebox korrekt. Sobald man aber ein anderes Thumbnail ankickt, danach das Grössere Bild, funktioniert die Lytebox nicht mehr.

An was crasht das?

Danke schon im Voraus für die Hilfe!
 
Zuletzt bearbeitet:
Werbung:
Die Ursache ist für mich klar ersichtlich.

Beim Laden der Seite wird eine Galerieansicht mit einer konkreten Großansicht geladen. Gleichzeitig wird die Lytebox initialisiert. Dadurch wird die Großansicht mit der Lytebox-Funktion zum Vergrößern verbunden.

Klickt man nun auf eines der kleinen Bilder der Galerieansicht, wird der HTML-Code des großen Bildes komplett ausgetauscht. Dadurch verschwindet auch die Verbindung zu Lytebox-Funktion zum Vergrößern des Bildes.

Du hast also 2 Möglichkeiten:
a) Du könntest versuchen die Lytebox-Vergrößerung beim Klick auf ein kleines Bild manuell an das neue große Bild (bzw. den Link um dieses Bild) zu hängen. Problem: das ist bei dieser Art Scripten etwas schwierig bis unmöglich.
b) Du müsstest nach Klick auf ein kleines Bild in der Galerieansicht auch die Lytebox neu initialisieren. Dadurch würde die Lytebox selbst die Links wieder korrekt setzen und das große Bild wäre vergrößerbar. Evtl. gibt es seitens Lytebox auch einen Hinweis dazu wie man sie manuell reinitialisieren kann, bei Lightbox ist das möglich.
 
Hallo!

Danke für das Feedback, konnte das Problem so lösen, warscheinlich hatte es einn Klassen Konflikt.

Die Klassen in den Links wurden umbenannt in launch-lytebox, mit folgendem JS:

HTML:
<script type="text/javascript">
    $('a.launch-lytebox').live('click', function() {
        $lb.launch({url:this.href});
        return false;
    })
</script>
 
Werbung:
Zurück
Oben