Modifizierte Lightbox läßt sich nicht mehr schließen

shredder01

Mitglied
Hallo,

ich bestücke gerade die Website eines Kunden (die nicht von mir erstellt wurde) mit verschiedenen Lightbox-Geschichten.
Unter anderem wünscht er ein Lightbox-Popup auf der Startseite, d.h. eine Lightbox die beim Seitenaufruf gestartet wird.
Das habe ich umgesetzt indem ich folgende Funktion erstellt habe
Code:
function startupLightbox()
{
   var myLink = document.getElementById("home");
   showLightbox(myLink);
}
die ich dann beim onload aufrufen lasse. Soweit funktioniert das auch sehr gut, allerdings mit dem Nebeneffekt, das sich diese Lightbox nicht mehr schließen läßt. Ein Klick auf den Schließen-Button bzw. auf's Popup wird einfach ignoriert.
Die Konsole in Firebug zeigt mir nichts an.
Wo könnte das Problem liegen?
Die Testseite liegt hier: http://designxxl24.de/duenenresidenz-glowe/

Danke.
 
Moin,

du hast da 2 Lightboxes, 1x durch das Elternframe erstellt, und 1x durch frame "main" erstellt.

Mögliche Lösung: füge in initLightbox() vor jener Zeile:
Code:
// the rest of this code inserts html at the top of the page that looks like this:

....dies ein:

Code:
if(typeof parent.hasLB!='undefined')return;
parent.hasLB=true;
das sollte verhindern, dass bei wiederholten Aufrufen von initLightbox() mehrere Lightbox-Container erstellt werden.
 
Vielen Dank, daran lag es.

Leider ist schon wieder alles hinfällig.


Da der Kunde gerne eine Verlinkung des Bildes im Lightbox-Popup möchte mußte ich nun auf die Lytebox zurückgreifen, um darin auch HTML anzeigen zu können.
Leider ist die Website mit einem Iframe versehen, der den Hauptinhalt aufnimmt. Was manches etwas umständlich macht.
Hier ist die Testseite: http://designxxl24.de/duenenresidenz-glowe/
Und da stehe ich nun vor folgendem Problem:
Der Link in der Lytebox öffnet die gewünschte Seite nicht innerhalb des IFrames, sondern zeigt nur die Seite alleine an. Merkwürdigerweise war das bei der Lightbox, als ich da über das Titel-Attribut einen Link "eingeschmuggelt" hatte, nicht so. Jetzt habe ich genauso wie gehabt
HTML:
target="main"
("main" ist das iframe) angegeben, aber trotzdem wird die Seite nicht in den IFrame eingefügt.
Ich habe jetzt außer target="main" auch noch target="_parent#main" (was wahrscheinlich Blödsinn ist) ausprobiert, aber es will einfach nicht im IFrame erscheinen.
Das Problem wird sicherlich sein, das in der Lytebox jetzt auch ein IFrame ist und ich gewissermaßen aus einem IFrame heraus ein anderes IFrame auf der Hauptseite ansprechen will.
Hat da jemand eine Idee was ich falsch mache bzw. wie ich es gelöst bekomme?

Hm, außerdem hab' ich noch ein Mini-Problem mit der Lytebox im IE6 und 7. Auf der Testseite gibt es im unteren Menü einen Punkt "Panoramen". Die Punkte auf der dortigen Karte öffnen jeweils Lyteboxes mit Flash-Animationen. So weit so gut. Im IE6 und IE7 verschwinden diese Lyteboxes allerdings oben fast aus dem Fenster. Es tritt merkwürdigerweise nur bei Lyteboxes mit Flash-Geschichten auf, alle anderen (wie das Startseiten-Popup) sind korrekt ausgerichtet.
Da bin ich im Moment etwas ratlos.

Danke schon einmal.

P.S. Zu dem target-Problem: Im IE6 funktioniert die Verlinkung wie gewünscht, d.h. die neue Seite öffnet sich innerhalb der Hauptseite. Allerdings läßt sich die Lytebox nicht mehr schließen.
P.P.S. Hm, die Lytebox läßt sich erst dann nicht mehr schließen, wenn der Link in ihr geklickt wurde. Vorher klappt es. Wie es scheint fehlt dann irgendetwas.

P.P.P.S. Ich hab nochmal etwas geforscht und festgestellt, das es eigentlich möglich sein sollte. Im Prinzip ist doch das was ich da machen nichts anderes als das hier http://www.yourhtmlsource.com/frames/inlineframes.html im Punkt Interaction beschriebene. Oder was übersehe ich da?

Hm, ich hab mal eine Testseite erstellt, die meiner Meinung nach dieselbe Struktur hat wie die Problemseite. Einziger Unterschied: Kein Javascript und keine Lytebox. Aber ansonsten dieselbe HTML-Struktur.
Und merkwürdigerweise klappt da die Verlinkung zwischen den IFrames problemlos. http://designxxl24.de/iframetest/
Sollte es nur wegen der Lytebox bzw nur aus der Lytebox heraus nicht klappen, oder hab ich irgendetwas übersehen?
 
Zuletzt bearbeitet:
Ok, ich hab mein Startseiten-Popup-Problem jetzt damit gelöst, das ich Lightbox bzw Lytebox völlig rausgeworfen habe und stattdessen eine Eigenkreation auf der Basis dieser Geschichte hier http://www.emanueleferonato.com/200...ox-effect-only-with-css-no-javascript-needed/ eingebaut habe.
Ich habe das für meine Zwecke etwas angepasst und ein paar Modifikationen vorgenommen, um das Inline-Javascript rauszubekommen.

Funktioniert prima und ist für den Zweck eines schnöden Popup völlig ausreichend.
 

Neue Beiträge

Zurück