Der Martin: Unterschiedliche ids mit einer funktion

Beitrag lesen

Hallo,

ich will Text mit einem animierten effekt belegen, wenn die maus drüber geht. dem text weise ich eine id zu, die ich dann in der funktion mit "document.all.nav.filters[0].freq = 5;" wieder verwende.

dann vermute ich, dass du das mit den Eventhandlern onmouseover und onmouseout auslöst.
Dein Ansatz ist in zwei Punkten ungeschickt. Erstens verwendest du das proprietäre all-Objekt, das eine reine MS-Erfindung ist (ein paar andere Browser unterstützen es mittlerweile auch, aber offizieller Standard ist es trotzdem nicht). Zweitens brauchst du, so wie du es gelöst hast, tatsächlich einen komplizierten Mechanismus, um das Element, dem der Effekt gelten soll, zu identifizieren.

Beides kann man durch einen eleganteren Ansatz mit 'this' lösen:

function effekt(element)
   { // ändere die Elementeigenschaften hier
     // über den Parameter element hast du
     // direkten Zugriff auf das JS-Objekt
   }

<span onmouserover="effekt(this)" onmouseout="effektaus(this)">

Eventuell gibt dein HTML-Kontext ein geeigneteres Element als das neutrale span her, das soll hier nur als Beispiel dienen.

Schönes Wochenende noch,
 Martin

--
Was du heute kannst besorgen,
das geht sicher auch noch morgen.