Javascript wird nicht "angewandt"

Hallo liebe bplaced-Gemeinde,
ich brauche mal wieder eure Hilfe.
Es geht um folgendes:

Ich möchte meine Seite umbauen und nun die Inhalte per Ajax in den dafür vorgesehenen Bereich laden.

xmlHttp.onreadystatechange = function(){ if(xmlHttp.readyState == 4) { document.getElementById("textinhaltsfeld").innerHTML = xmlHttp.responseText; } }

Funktioniert auch so, wie es soll, nur nun kommt mein Problem:
Ich nutze die colobox um die Bilder dar zu stellen. Funktioniert(e) auch so wie es soll. Nur nun, wenn ich die Inhalte per Ajax hineinlade, “animiert” es mir die Bilder nicht mehr, sondern öffnet einfach das Bild (beim Klick auf das Bild). Ich habe nichts verändert, sondern es einfach erstmal nur 1 zu 1 kopiert - somit müsste es “eigentlich” auch wie vorher funktioniert.
Oder werden mit Ajax hineingeladene Bilder (also alles, ) nicht als Bilder von Javascript wahrgenommen?

Ich hoffe, ihr könnt mir helfen.

Liebe Grüße Basti

hi,

bei solchen skripten habe ich (nicht selbst, wohl aber bei einem kumpel) beobachtet, dass es dabei zu problemen kommen kann. in einem spezifischen fall hat ein freund mit ajax content in ein jcarousel geladen, das darauf absolut unplanmäßig reagiert hat.

theoretisch sollte es dabei ja zu keinen problemen kommen, die praxis sieht nur leider (wie so oft) anders aus…

leider kenne ich mich mit deiner variante der lightbox nicht aus, muss man diese irgendwie initialisieren oder so?

ps.: is das jetz nur bei mir so oder verhinderst du ein kontext-menü bei rechtsklick oO? (ich hätt mir gern mal den sourcecode angesehen…)

[quote=“emil”]
leider kenne ich mich mit deiner variante der lightbox nicht aus, muss man diese irgendwie initialisieren oder so?[/quote]

Ja, indem man bei den Bildern, die man “initialisieren” will, ein rel=“images2” mit dazu schreibt.

Grüße Basti

Ich würde eher sagen:
In der Regel sollte es dabei zu Problemen kommen, es sei denn das skript/die bibliothek stellt extra funktionen hierfür bereit.
Wenn es nicht mehr funktioniert wenn du content reinlädst wird wohl irgendwas (nicht) initialisiert. Versteh das Skript dann kannst es auch erweitern.

[quote=“Morpheus”][quote=“emil”]
theoretisch sollte es dabei ja zu keinen problemen kommen, die praxis sieht nur leider (wie so oft) anders aus…
[/quote]

Ich würde eher sagen:
In der Regel sollte es dabei zu Problemen kommen, es sei denn das skript/die bibliothek stellt extra funktionen hierfür bereit.
Wenn es nicht mehr funktioniert wenn du content reinlädst wird wohl irgendwas (nicht) initialisiert. Versteh das Skript dann kannst es auch erweitern.[/quote]

Ich versteh das Script, es sucht sich alle Bilder die als Zusatz rel=“images2” haben und “animiert” diese (mittels Colorbox). (die Skripte sieht man ja auch auf meiner Seite und kann sich diese anzeigen lassen)

Nur ist eben das Problem, wenn ich mit Ajax den Inhalt “reinlade”, das er wohl nicht das Skript auf diese anwendet (vlt. weil es keine “richtigen” Bilder sind wie wenn ich eine einfache html-Datei mit den Bilder-Links mache).

Oder wie krieg ich das Skript dazu, das es nach dem “reinladen” nochmal ausgeführt wird?

Grüße Basti

So wie du es vorher auch gemacht hast:[code] $(document).ready(function(){
//Examples of how to assign the ColorBox event to elements
$(“a[rel=‘images’]”).colorbox({slideshow:true, slideshowAuto: false, slideshowStart: “Diashow starten”, slideshowStop: “Pause”, slideshowSpeed: 3000, current: “Bild {current} von {total}”, initialHeight: “560”, initialWidth: “840”});
$(“a[rel=‘images2’]”).colorbox({slideshow:true, slideshowAuto: false, slideshowStart: “Diashow starten”, slideshowStop: “Pause”, slideshowSpeed: 3000, current: “Bild {current} von {total}”, initialHeight: “560”, initialWidth: “840”});
$(“a[rel=‘images3’]”).colorbox({slideshow:true, slideshowAuto: false, slideshowStart: “Diashow starten”, slideshowStop: “Pause”, slideshowSpeed: 3000, current: “Bild {current} von {total}”, initialHeight: “560”, initialWidth: “840”});
$(".example5").colorbox();

			$(".example10").colorbox({width:"70%", inline:true, href:"#inline_example10"});

		});[/code]

Nur eben erst ausführen lassen, nachdem der Content in den Container geschrieben wurde.

[quote=“hummer”]
Nur eben erst ausführen lassen, nachdem der Content in den Container geschrieben wurde.[/quote]

Und wie genau krieg ich das hin?

Grüße Basti

function setColorBox() { $("a[rel='images']").colorbox({slideshow:true, slideshowAuto: false, slideshowStart: "Diashow starten", slideshowStop: "Pause", slideshowSpeed: 3000, current: "Bild {current} von {total}", initialHeight: "560", initialWidth: "840"}); $("a[rel='images2']").colorbox({slideshow:true, slideshowAuto: false, slideshowStart: "Diashow starten", slideshowStop: "Pause", slideshowSpeed: 3000, current: "Bild {current} von {total}", initialHeight: "560", initialWidth: "840"}); $("a[rel='images3']").colorbox({slideshow:true, slideshowAuto: false, slideshowStart: "Diashow starten", slideshowStop: "Pause", slideshowSpeed: 3000, current: "Bild {current} von {total}", initialHeight: "560", initialWidth: "840"}); }

xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4) { document.getElementById("textinhaltsfeld").innerHTML = xmlHttp.responseText; setColorBox(); } }
zum Beispiel

btw. warum benutzt du nicht die AJAX-Engine von jquery, wenn du die library schon eingebunden hast?

Ich probiere es morgen gleich aus, ich danke dir aber schonmal im Vorraus =).

[quote=„hummer“]
btw. warum benutzt du nicht die AJAX-Engine von jquery, wenn du die library schon eingebunden hast?[/quote]

Wie meinst du das?
Bitte evtl. mit Beispiel/Links wenn’s geht.

Aber ich glaub ich weiss was du meinst ^^ !haue .

Grüße Basti

http://api.jquery.com/category/ajax/

Hallo hummer,
ich danke dir, mit ein paar Anpassungen war es genau der richtige Ansatz, funktioniert so wie es vorher ohne Ajax auch geklappt hat.
Danke :hail: .

Kann geschlossen werden.

Grüße Basti