lightbox. abfrage ändern

pat_morita

Mitglied
hi,

eigentlich bin ich Flasher und Javascript is nicht wirklich meine Welt. Dennoch eine für mich diffizil Frage.

Wer "Lightbox" kennt, weiß, daß es eine Gallery auf Ajax/Javascript basis ist. Das Script wurde mal angepaßt, um es aus FLASH heraus aufrufen zu können. Und da greift mein Problem. Das Script unterscheidet zwei Fälle. Sind die Bilder Einzelbilder oder Bilder eines Sets? Die Links, die normalerweise aus HTML übergeben werden lauten

EINZELBILD:
PHP:
<a href="http://www.tutorials.de/forum/images/image-1.jpg" rel="lightbox" title="my caption">image #1</a>
SERIENBILD:
PHP:
<a href="http://www.tutorials.de/forum/images/image-1.jpg" rel="lightbox[roadtrip]">image #1</a>

Das entsprechende Javascript (gekürzt):

PHP:
start: function(imageLink) {

		if (!document.getElementsByTagName){ return; }
                var anchors = document.getElementsByTagName( imageLink.tagName);

			// if image is NOT part of a set..
			if((imageLink.getAttribute('rel') == 'lightbox')){
				// add single image to imageArray
				imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));
			} else {

			// if image is part of a set..
				// loop through anchors, find other images in set, and add them to imageArray
				for (var i=0; i<anchors.length; i++){
					var anchor = anchors[i];
					if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))){
						imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
					}
				}
				imageArray.removeDuplicates();
				while(imageArray[imageNum][0] != imageLink.getAttribute('href')) { imageNum++;}
			}
		}


Jetzt wurde das Script geändert (nicht von mir) um es aus FLASH heraus aufrufen zu können:
Code:
start: function(imageLink) {
		if (!document.getElementsByTagName){ return; }

 (typeof imageLink == 'string') {
			var splitIdx	= imageLink.indexOf('|')
			var imageTitle	= splitIdx != -1 ? imageLink.substr(splitIdx + 1) : ''
			splitIdx != -1 ? imageLink = imageLink.substr(0, splitIdx) : null
			imageArray.length = 0
			imageArray.push(new Array(imageLink, ((isMSIE) ? decode_utf8(imageTitle) : imageTitle)));
		}
		else {
			var anchors = document.getElementsByTagName( imageLink.tagName);

			// if image is NOT part of a set..
			if((imageLink.getAttribute('rel') == 'lightbox')){
				// add single image to imageArray
				imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));
			} else {
			// if image is part of a set..

				// loop through anchors, find other images in set, and add them to imageArray
				for (var i=0; i<anchors.length; i++){
					var anchor = anchors[i];
					if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))){
						imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
					}
				}
				imageArray.removeDuplicates();
				while(imageArray[imageNum][0] != imageLink.getAttribute('href')) { imageNum++;}
			}
		}

In Flash produziere ich dann den Link dazu, der an JS übergeben wird. FLash-Code:

PHP:
on (release) {
var imgPath = 'meinedomain/bilder/bild.jpg'
var imgTitle = 'Bla Fasel und überhaupt'
getURL("javascript:myLightbox.start('" + imgPath + ((imgTitle != '') ? '|' + escape(imgTitle) : '') + "')");
}

Damit kommt beispielsweise solch ein Link heraus:

PHP:
javascript:myLightbox.start('http://meinedomain.com/bilder/bild.jpg|Bla Fasel und überhaupt')

Soweit funktioniert das auch. Der Titel wird als String übergeben, damit greift die ELSE routine im JS nicht mehr.
Wie richte ich das java script ein, damit die Bilder als SERIE dargestellt werden? Also entweder... wie übergebe ich aus FLash die INFO oder wie ändere ich das Script ab...

viel zu lesen... ich weiß...

hoffe trotzdem daß mir jemand helfen kann. hier noch ein Link zum kompletten Script
>KLICK MICH<


lg pat
 
hm.. ich glaube, das Problem ist einfach, daß bei einem Klick in FLash auf ein Bild nur ein Link erstellt wird, aus dem sich das script nur ein Bild holen kann.

Wie kann ich dem Script quasi eine LISTE an Bildern übergeben? jemand ne idee?
 

Neue Beiträge

Zurück