Autor |
Nachricht |
denise2302
Threadersteller
Dabei seit: 12.09.2006
Ort: Leipzig
Alter: 34
Geschlecht:
|
Verfasst Do 25.09.2008 08:36
Titel Lightbox bei ajax eingebundenem Content |
|
|
Hallo!
Ich habe schon im php.de Forum gefragt, aber eine Lösung auch so richtig noch nicht bekommen...
Also, ich lade per Ajax Content in einen div. Bei diesem Content sollen sich dann Bilder mit der Lightbox öffnen. Die Lightbox-Funktion prüft aber am Anfang ob es rel=lightbox gibt. Da der Content da ja aber noch nicht da ist, findet er die Bilder natürlich nicht und es funktioniert nicht. Ich google nun schon seit gestern, es gab auch eine Lösung, die aber auch nicht funktioniert hat... Nun kann man es evtl. bewirken, dass wenn man auf den Link klickt, der den Content lädt, eine onclick funktion macht, die gleichzeitig die js.-Dateien der Lightbox nochmal mit lädt, oder halt kurz danach, damit die rel=lightbox gefunden werden? Oder hat vll noch irgendjmd eine andere Idee wie man das zum laufen bringen kann?
LG Denise
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Do 25.09.2008 10:31
Titel
|
|
|
dein content wird an irgendeiner stelle sicher mit was ähnlichem wie innerHtml o.ä. ins div geschrieben. wenn das passiert ist, initierst du einfach die lightbox ein weiteres mal...
zweite möglichkeit... (hat viele feinde)... wäre eval()... (mach ich aber auch hin und wieder.. pssst )
Zuletzt bearbeitet von pixelpapst303 am Do 25.09.2008 10:33, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
denise2302
Threadersteller
Dabei seit: 12.09.2006
Ort: Leipzig
Alter: 34
Geschlecht:
|
Verfasst Do 25.09.2008 10:34
Titel
|
|
|
so wird mein content eingefügt:
Code: |
var ajax = null;
if (window.XMLHttpRequest)
ajax = new XMLHttpRequest();
else if (window.ActiveXObject)
ajax = new ActiveXObject("Microsoft.XMLHTTP");
function refresh_div(Div, Seite)
{
ajax.open("GET", Seite, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
document.getElementById(Div).innerHTML = ajax.responseText;
}
ajax.send(null);
}
|
das hab ich von dieser seite: http://www.cybton.com/view_thread,Div+Inhalt+per+Klick+auf+Link+aendern,26775,2.html und fande es am einfachsten, es so zu machen... was kann ich da in die funktion schreiben, dass die anderen 2 js dateien nochmal mit initiert werden? kenn mich mit js nich so aus...
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Do 25.09.2008 10:57
Titel
|
|
|
damit du nicht zu viel verändern musst, versuchs mal so:
Code: |
var ajax = null;
if (window.XMLHttpRequest)
ajax = new XMLHttpRequest();
else if (window.ActiveXObject)
ajax = new ActiveXObject("Microsoft.XMLHTTP");
function refresh_div(Div, Seite)
{
ajax.open("GET", Seite, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
document.getElementById(Div).innerHTML = ajax.responseText;
evalJs('deinjavascriptfile_1.js');
evalJs('deinjavascriptfile_2.js');
evalJs('deinjavascriptfile_uswusw....');
}
ajax.send(null);
}
function evalJs(JsFile)
{
ajax.open("GET", JsFile, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
eval(ajax.responseText);
}
ajax.send(null);
}
|
|
|
|
|
|
denise2302
Threadersteller
Dabei seit: 12.09.2006
Ort: Leipzig
Alter: 34
Geschlecht:
|
Verfasst Do 25.09.2008 11:07
Titel
|
|
|
Also ich habe jetzt meine js dateien eingefügt aber es geht nicht, nun werden meine Bilder nicht mehr angezeigt...
Code: |
var ajax = null;
if (window.XMLHttpRequest)
ajax = new XMLHttpRequest();
else if (window.ActiveXObject)
ajax = new ActiveXObject("Microsoft.XMLHTTP");
function refresh_div(Div, Seite)
{
ajax.open("GET", Seite, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
document.getElementById(Div).innerHTML = ajax.responseText;
evalJs('mootools-1.11.js');
evalJs('slimbox.js');
}
ajax.send(null);
}
function evalJs(JsFile)
{
ajax.open("GET", JsFile, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
eval(ajax.responseText);
}
ajax.send(null);
}
|
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Do 25.09.2008 11:54
Titel
|
|
|
ein tick zu früh für mich
erstmal zu deinen js. das sieht für mich nicht aus wie lightbox, aber egal. motools müsstest du eigentlich kein zweites mal laden (hoffe ich, weil man sonst was schlaueres bauen müsste). um ein einziges js nachzuladen sollte dies nun klappen:
Code: |
var ajax = null;
var JSajax = null;
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();
JSajax = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
JSajax = new ActiveXObject("Microsoft.XMLHTTP");
}
function refresh_div(Div, Seite)
{
ajax.open("GET", Seite, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
document.getElementById(Div).innerHTML = ajax.responseText;
evalJs('slimbox.js');
}
ajax.send(null);
}
function evalJs(JsFile)
{
JSajax.open("GET", JsFile, true);
JSajax.onreadystatechange = function()
{
if(JSajax.readyState == 4)
eval(JSajax.responseText);
}
JSajax.send(null);
}
|
|
|
|
|
|
denise2302
Threadersteller
Dabei seit: 12.09.2006
Ort: Leipzig
Alter: 34
Geschlecht:
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Do 25.09.2008 12:27
Titel
|
|
|
zeig mal n link von dem, was du gerade machst...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Lightbox Problem in Verbindung mit AJAX
Ajax: Content in nur ein Div laden
Animation & AJAX-Content laden?
[?] Links deaktiviert bei geladenen Content via jQuery/Ajax
[Ajax] Prototype Funktion Ajax.Updater - Brauche Hilfe
Content Editing, statt Content Management
|
|