Hallo zusammen!
ich baue gerade eine eigene slideshow mit jquery (ja, ich weiß, es gibt zig plugins, aber ich will es gerne selber bauen).
sie funktioniert so, dass der besucher thumbnails der klasse lightbox_trigger sieht. sobald er darauf klickt, sieht er dann in einem overlay, einer lightbox, wie auch immer das bild.
in dem overlay werden auch zwei links hinzugefügt und zwar für das nächste und das vorherige bild. diese erhalten jeweils die klasse picchanger.
ich habe also eine funktion die vereinfacht so aussieht:
$('.lightbox_trigger').click(function(e) {
e.preventDefault(); //(um das href aufzuheben)
var bildIndex = //die id des angeklickten lightbox_trigger ankers
var bildFwd = // bildIndex+1 oder 0
var bildBack = //bildIndex-1 oder die anzahl aller bilder (letztes element)
//lightbox wird eingefügt und sieht so aus:
<div id="lightbox">
<div id="gallerylink">'
<a href="' + bilder[bildBack] + '" class="picchanger" id="' + bildBack + '" title="<"></a>
<a href="' + bilder[bildFwd] + '" class="picchanger" id="' + bildFwd + '" title=">"></a>
</div>
<div id="content">
<p>Click anywhere to close</p>
<img src="' + bilder[bildIndex] +'" />
</div>
</div>
});
es ist wie gesagt sehr vereinfacht, damit man es versteht. sollten unklarheiten sein, bzw. vermutungen, dass meine syntax falsch ist oder oder poste ich gern den kompletten code der funktion.
Nun will ich, dass bei klicken auf < oder > sich der inhalt in #content updatet also sich das bild ändert und ich möchte, dass natürlich die links angepasst werden.
$('.picchanger').click(function(e){
e.preventDefault(); //(wieder um das href aufzuheben)
var bildIndex = //die id des angeklickten picchanger ankers
var bildFwd = // bildIndex+1 oder 0
var bildBack = //bildIndex-1 oder die anzahl aller bilder (letztes element)
//alles mit den neuen bildX variablen anpassen
});
das funktioniert aber nicht. damit es funktioniert muss ich die funktion, die sich auf .picchanger bezieht in die erste integrieren. ich weiß nicht wieso aber eine mutmaßung ist, dass es ja vor dem aufruf von der ersten funktion gar kein element .picchanger gibt, bzw, dass die zweite von der ersten abhängt.
soweit kein Problem.
ich kann nun von einem geöffneten bild zum nächsten wechseln. Aber lediglich 1 mal. wenn ich wieder auf den link klicke (und das eingreifen der funktion erwarte) werde ich einfach auf das bild verlinkt (endung .jpg statt .php oder .html)
Das Problem ist, dass ich die .picchanger funktion unendlich oft in sich selbst verschachteln müsste, damit die bildergalerie einwandfrei funktioniert.
Da das geht habe ich mir überlegt dies in eine Schleife einzubinden. oder ein Goto: oder sowas. damit der programmablauf ene schachtelungsebene nach oben geht nach durchlauf der inneren.
Gibt es noch fragen zum code oder genauen problem?