area, maps und die rel Eigenschaft

BMo

Mitglied
Hi,

ich habe ein kleines problem, bei dem Ihr mir sicher helfen könnt.

Ich habe ein Bild mit mehreren Köpfen.
Um die Köpfe habe ich mit maps Areas festgelegt.
Wenn man mit der Maus auf einen Kopf klickt soll ein Bild der zugehörigen Person
geöffnet werden. Soweit kein Problem.

Jetzt würde ich gerne beim öffnen des Bildes das wohl bekannte lightbox.js benützen.
Infos unter: http://www.huddletogether.com/projects/lightbox/

Leider unterstützt der Areatag kein Rel Attribut.
Weiß jemand, wie ich per Javascript lightbox benutze. Ich blick nämlich in dem lightbox.js nicht durch.

Also soviel ist mir klar: src="javascript:Methode()" aber wie lautet die Methode bei lightbox?

Danke!

Grüße BMo
 
Hi,

zunächst - ich spreche von Lightbox JS, nicht von Lightbox JS v. 2.0.

Such in lightbox.js die Funktion initLighbox. Dort suchst du nach der Zeile
Code:
var anchors = document.getElementsByTagName("a");
und ersetzt sie surch
Code:
var anchors = document.getElementsByTagName("area");
Funktioniert bei mir zumindest im IE 6 und FF 1.5.

Ciao
Quaese
 
Ok, gut geht!
Danke.

Hab aber da noch eine Frage.
Ich habe in meiner Seite eine Bilder Animation:

Code:
//Bildani

var xZeit = 2000;    // 2000 Anzeigezeit in ms - ändern nach Belieben
var pfad ="";
var auswahlBilder = new Array();
var i = 2;

function bilderani(){ //bilderani('./images/sponsoren/',1,'1.png','2.png','10.png','3.png','4.png','5.png','6.png','7.png','8.png','9.png');
	pfad=arguments[0];
	i=parseInt(arguments[1])+2+1; //starte bei Bild
	auswahlBilder=arguments;
	
	var aktiv = window.setInterval("wechselBild()", xZeit);

}

function wechselBild () {
 document.getElementById("sponsorenBild").src=pfad+auswahlBilder[i];
  i = i + 1;
  if (i >= auswahlBilder.length){
  	i=2;
  }
//    window.clearInterval(aktiv);
}

funktioniert wunderbar.
Wenn ich jetzt aber auf ein Bild (außerhalb der Animation) drücke, auf welches lightbox.js
angewandt wird. bleibt die Animation stehen und zeigt ein Fehler an, da jetzt der Pfad kurze Zeit /images/sponsoren/images/sponsoren/ heißt.
Anstatt /images/sponsoren/
Irgendwie verändert das lightbox.js da was an meinem pfad.
Ich kann aber niergends in lightbox.js die variable pfad finden.

Kann das vielleicht auch an den Array.prototype liegen oder weis jemand sonst woran das liegt?
 
Hi,

wie ich es sehe, liegt es an einigen Zählvariablen im lightbox.js. Dort wird i in for-Schleifen
als globale Variablen verwendet. Diese stören sich mit deiner Zählvariable.

Es gibt zwei Möglichkeiten:

Bei der ersten änderst du das lightbox.js dahingehend, dass duaus den globalen lokale Variablen
machst (Schlüsselwort var voranstellen).

Bei der zweiten Möglichkeit änderst du deine Zählvariable - im Beispiel in intI.
Code:
var xZeit = 500;    // 2000 Anzeigezeit in ms - ändern nach Belieben
var pfad ="";
var auswahlBilder = new Array();
var intI = 2;
var hTimer = null;

function bilderani(){ //bilderani('./images/sponsoren/',1,'1.png','2.png','10.png','3.png','4.png','5.png','6.png','7.png','8.png','9.png');
  pfad=arguments[0];
  intI=parseInt(arguments[1])+2+1; //starte bei Bild
  auswahlBilder=arguments;

  hTimer = window.setInterval("wechselBild()", xZeit);
}

function wechselBild () {
 document.getElementById("sponsorenBild").src=pfad+auswahlBilder[intI];
  intI++;
  if (intI >= auswahlBilder.length){
    intI=2;
  }
//    window.clearInterval(aktiv);
}
Ciao
Quaese
 
Zurück