[TYPO3-german] OT: JavaScript-Problem

Peter Kühnlein peter at function2form.net
Wed Jan 7 15:44:58 CET 2015


Hallo Liste,

ein bisschen OT, aber vielleicht hat jemand eine Idee, woran es liegen 
kann: ich habe ein paar Seiten, in denen genau zwei ordered 
list-Elemente (also OL) vorkommen: das eine ist eine Liste mit Sätzen

1. erster Satz
2. zweiter Satz...

und das zweite eine Liste mit LI-Tags, die als name-Attribut Bild-URLs 
haben und ansonsten leer sind.

Auf diese Seiten lasse ich dies kurze js-Skript los, das über ein 
mouseover über den ersten OL-Block getriggert wird:

function oltesten(){
     var i = 0;
document.getElementsByClassName("ZweiZeilenOben")[0].getElementsByTagName("img")[0].id 
= "ziel";
     quelle = 
document.getElementsByClassName("ZweiZeilenOben")[0].getElementsByTagName("img")[0].getAttribute("src");
while(document.getElementsByTagName("ol")[0].getElementsByTagName("li")[i]){
     olid = 
document.getElementsByTagName("ol")[1].getElementsByTagName("li")[i].getAttribute("name");
document.getElementsByTagName("ol")[0].getElementsByTagName("li")[i].setAttribute("onmouseout","setze(quelle)");
document.getElementsByTagName("ol")[0].getElementsByTagName("li")[i].setAttribute("onmouseover","setze(olid)");
     i++;
     }
}

function setze(a) {
     document.getElementById("ziel").setAttribute("src",a);
}

Also ich suche mir zunächst ein Bild, das ersetzt werden soll und gebe 
dem die ID "ziel". Dann gucke ich nach, welches Bild da gerade drin ist 
und merke mir das in quelle. Anschließend laufe ich in eine Schleife, 
die mir alle Sätze absucht, die in dem ersten OL-Block stehen. Zu denen 
suche ich die passenden Bild-URLs, die in den name-Attributen stehen. 
Ich verpasse den jeweiligen LI-Tags der Sätze dann als 
onmouseout-Attribut eine Funktion setze(quelle) und als 
onmouseover-Attribut setze(olid), was die URL zum jeweiligen 
Schleifenmoment sein sollte. Dann geht's in die nächste Runde der Schleife.

Überraschung: beim ersten onmouseout wird mir das letzte Bild in der 
Liste angezeigt - und das war's dann mit Skript. Meine Frage: warum 
ändert sich offenbar der Wert von quelle, und warum wird in die 
onmouseover-Aufrufe überall die URL des letzten Bilds geschrieben?

Ich würde Gold und Silber versprechen für eine gute Idee, habe aber 
leider nur heißen Dank anzubieten
Peter

-- 

http://function2form.net
http://peter-kuehnlein.net

"To talk about other people's affairs is a great mistake."
(Hagakure)



More information about the TYPO3-german mailing list