Autor |
Nachricht |
--Daniel--
Threadersteller
Dabei seit: 09.06.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 09.06.2007 13:59
Titel Lightbox Problem in Verbindung mit AJAX |
|
|
Hallo,
ich habe ein Problem mit der Lightbox (neueste Version).
Ich habe eine Bildergalerie, die mit AJAX und PHP realisiert ist.
Nun ist das Problem, dass die Bilder die von der AJAX-Seite zwar mit dem richtigen Lightbox-Code (rel="lightbox") kommen, aber die Lightbox trotzdem nicht funktioniert. Wenn ich die AJAX-Seite so öffne, dann funktioniert es einwandfrei. Hab auch schon versucht, das angeblich nötige HTML-Grundgerüst dazuzubauen, doch hilft alles nichts.
Die Seite ist folgende: http://web24.srv7.mw-internet.net/seychelles-in-style/default.php?cousine_island (Klick auf "Bilder anzeigen")
Hoffe, ihr habt ne Idee.
Vielen Dank schnonmal!
Schönen Gruß,
Daniel
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Sa 09.06.2007 17:58
Titel
|
|
|
Gibt es eine Fehlermeldung?
Wenn ja, welche?
Was sagt die JavaScript-Konsole deines Browsers dazu?
(notfalls: Extras/Fehler-Kosole im Firefox)
Oder du könntest auch den JavaScript-Debugger "Venkman" installieren, wenn du mit dem Firefox (Mozilla, o.ä.) arbeitest.
Selbst der MSIE verfügt über einen JS-Debugger.
Und andere gute Browser wie Opera ebenfalls.
Damit solltest du jedenfalls zu brauchbaren Fehlermeldungen kommen, wenn dir sonst nichts angezeigt wird.
Und dann kann man das Problem angehen.
|
|
|
|
|
Anzeige
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 09.06.2007 18:02
Titel
|
|
|
Das Problem dürfte ein ganz einfaches sein: Das LB Script parsed
beim Laden der Seite den Quelltext und prüft die Element auf die
LB-relevanten Attribute.
Wenn Content nachträglich per innerHTML etc attached wird, dann
funktioniert ganze Trick nicht mehr. Deswegen werden die "neuen"
Bilder einfach nur geöffnet, ohne die Lightbox zu nutzen.
BTW: Content der per Ajax geladen ist, würde ich nicht mit einem
kompletten <html> etc Set reinladen ..
|
|
|
|
|
--Daniel--
Threadersteller
Dabei seit: 09.06.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 09.06.2007 19:59
Titel
|
|
|
Hi,
danke euch erstmal!
@ rob: also Fehlermeldungen gibts keine...
@ dastef: Jap, das hab ich nur vorrübergehend eingebaut, um zu testen, obs ohne AJAX funktioniert.
Hmm, also hat jemand vielleicht einen Ansatz, um auch im Nachhinein die Lightbox aufzurufen? Vielleicht auch mit den Alternativen (Greybox, Thickbox, Slimbox usw.)?
Gruß,
Daniel
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 10.06.2007 09:46
Titel
|
|
|
Ich würd mal in der Doku von Prototype stöbern .. in deren Ajax
Methoden gibts sicher was passendes dafür.
und welche der Boxen du dann einsetzt, ist letzt endlich auch egal.
wenn eine funktioniert, funktioniert der rest auch.
|
|
|
|
|
Raumwurm
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 10.06.2007 09:56
Titel
|
|
|
Nur so eine Idee, schon versucht initLightbox nach dem
Ajaxladevorgang nochamoi aufrufen (im prototype
gibts doch diese Ajax.Responders)
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Mo 11.06.2007 07:56
Titel
|
|
|
Ajax.Responders ist eigentlich ein globaler Listener, der bei jedem Ajax-call ein Event feuert. Ist ganz praktisch zur Steuerung von Ladescreens/Balken.
Aber trotzdem kann man wie gesagt das schon mal probieren, wenn man nicht in die Lightbox selbst rein will. Man kann ja mal versuchen, die Methode initLightbox() nach jedem Ladevorgang erneut aufzurufen.
Zitat: | Ajax.Responders.register({
onComplete: function() {
initLightbox();
}
}); |
Trotzdem, schöner wärs, das direkt in deinem Ajax-Request zu verwurschteln. Also anstelle von
Zitat: | function show_img(n) { ... | kannst du mit Prototype ganz Simpel mal folgendes versuchen:
Code: |
...your Eventhandler goes here {
new Ajax.Request('deine Url', {
onSuccess: function ( transport ) {
// deine Bilder reinfummeln
// myDiv.innerHTML = transport.responseText();
},
onComplete: function() {
// Lightbox initialisieren, komme was wolle
initLightbox();
}
});
} |
bzw. du verwendest die entsprechenden Methoden der generischen Ajax-Instanzen, die du auf deiner Seite verwendest (falls vorhanden, ich kenne mich damit nicht so aus, reine Faulheit )[/quote]
|
|
|
|
|
|
|
|
Ähnliche Themen |
Lightbox bei ajax eingebundenem Content
[CSS + AJAX] Problem mit Darstellung im IE
AJAX Problem mit Internet Explorer
[Ajax] Prototype Funktion Ajax.Updater - Brauche Hilfe
Lightbox CSS Problem
lightbox js - problem
|
|