Patrick: Problem mit Buttons

Beitrag lesen

Hallo Timon!

Ich habe ein Problem mit der Funktion onMouseover und OnMouseOut.
Ich habe auf meiner Homepage Buttons mit wechselnden Grafiken. Wenn ich jetzt aber daneben eine Grafik wie "new" oder so setzen will, dann passiert folgendes:
Sobald man einen Button verläßt, erscheint die Grafik, die eigentlich in dem Button erscheinen soll, in dem Platz der "new"-Grafik völlig woanders.

Du benutzt wahrscheinlich einen Script, in welchem die  Grafiken nach "index" und nicht nach "name" angesprochen werden.

Der Browser "liest" die Grafiken in der Reihenfolge ihrer Referenzierung im Quelltext. Die erste Grafik erhält die Index-Nr. 0, die zweite 1, die dritte 2, usw...

Wenn Du mal angenommen 5 Buttons referenziert hast, so haben diese die Index-Nummern 0 bis 4.

Referenzierst Du eine neue, sechste Grafik unterhalb der Buttons, so erhält diese die Index-Nummer 5. Dein Script funktioniert noch...

Plazierst Du die neue Grafik aber oberhalb der Buttons, so erhält die neue Grafik die Index-Nummer 0, und die Buttons die Nummer 1 bis 5: das Script funzt nicht mehr, wenn nicht die Zahlen entsprechend geändert werden.

So wie Du Dein Problem schilderst, wird es so sein, wie es Benjamin erklärt hat. In der für onMouseOut zuständigen Funktion stimmen nach dem Einfügen der neuen Grafik die Index-Zahlen nicht mehr.

Anzeigebeispiel - so sieht es aus<g>:

http://atomic-eggs.com/pac/paf3.htm#A5

Auf dieser Seite siehst Du den einzigen Bildwechsel dieser Page: meine wunderschöne Wenigkeit!

Und jetzt schau mal im Quelltext:

if (ok) {

bild1 = new Image();    
bild2 = new Image();  
  
bild1.src = "pacnice.jpg";    
bild2.src = "pacnicer.jpg";  

}
function Off (num) {
if (ok) {
  
if (num=="1") document.images[27].src=bild1.src;

}  

}
function On (num) {
if (ok) {

if (num=="1") document.images[27].src=bild2.src;  

}  

"if (ok)" bezieht sich auf eine im Originalquelltext meiner Seite definierten Browserabfrage

  • für eine Bildwechselfunktion für eine Grafik benötigt man 2 Bilder: bild1 und bild2, die oben definiert werden (die 4 ersten Zeilen). In diesem Beispiel ist Bild1 (pacnice.jpg) der Normalzustand, und Bild2 (pacnicer.jpg) ist das Bild, welches bei onMouseOver erscheinen soll.

  • die Funktion "OFF" wird bei onMouseOut angesprochen, die Funktion "ON" bein onMouseOver

  • die Zahl "27" in der Zeile: if (num=="1") document.images[27].src=bild1.src;    bei der Funktion Off und  der entsprchenden Zeile bei der Funktion On bedeutet, daß die 28. Grafik im Quelltext (angefangen von 0, wie oben erklärt) durch den Bildwechsel ausgetauscht wird.

Würde ich also auf die Idee kommen, oberhalb dieser 28. Grafik ein weiteres Bild einzubauen, müßte ich anstatt "27" nun "28" eingeben, denn alles verschiebt sich dann um eine Zahl, und mein schönes Photo ist nicht mehr die 28. sondern die 29. Grafik auf der Seite. Für die Indexierung ist dann Index 28, da ja, wie gesagt, von "0" an gezählt wird.

Ich hoffe, ich konnte es einigermaßen 'rüberbringen, sonst melde Dich bitte nochmals... aber bitte hier, nicht per E-Mail (anderen Leuten interessiert es vielleicht auch), OK?

Bis danndann

PAF (patrickausfrankfurt)