Hi,
onmouseover="name_anderes_bild.src='bilder/...';" funktioniert, wenn das andere Bild das Attribut name="name_anderes_bild" hat.
ja, sollte.
onmouseover="name_anderes_div.innerHTML='...';" funktioniert nicht, wenn das andere div nur das Attribut name="name_anderes_div" hat. Es funktioniert, wenn das andere div das Attribut id="name_anderes_div" hat.
Aber nur im IE, schätze ich.
Grund ist, dass das name-Attribut für div nicht erlaubt ist, und der IE das ausnahmsweise sehr ernst nimmt - er ignoriert ein gesetztes name-Attribut in einem div-Element.
Dafür macht er aber seit Urzeiten einen Fehler, der hier zum Tragen kommt: Er schmeißt name- und id-Attributwerte alle in einen Topf. Das führt dazu, dass Elemente mit id auch gefunden werden, wenn man eigentlich nach einem name sucht (und umgekehrt).
onmouseover="anderes_element.style='...';" funktioniert weder mit name noch mit id.
("funktioniert nicht" heißt, es passiert nichts, zumindest nichts erkennbares)
Den Kontext solltest du genauer beschreiben. Je nachdem, was für ein Element damit angesprochen werden soll, gilt nämlich theoretisch auch hier einer der beiden obigen Fälle.
Warum ist das so, was unterscheidet src, innerHTML und style?
Nichts. Es geht nicht darum, welche Eigenschaft des Elementobjekts du ansprechen willst - es geht darum, wie du das Elementobjekt an sich ansprechen kannst.
- Wenn ich mit der zweiten Variante (innerHTML=) einem div einen Inhalt verpasse, dann wird ein äußeres div (mit Hintergrundbild und -farbe) nicht mit vergrößert und der Text ragt ggf. darüber hinaus. Außerdem können häßliche Zuckungen auftreten, wenn der eingeblendete Text nicht mehr auf die Seite paßt und der onmouseover-Bereich dadurch unter dem Mauszeiger wegrutscht.
Irgendwelche lustigen Kombinationen von position und overflow?
Wie kann ich ohne viel Drumherum mit onmouseover die Werte für style eines anderen Elements ändern?
Am besten zeigst du das Problem mal in einem minimalisierten Zusammenhang - aber auf jeden Fall mit dem relevanten CSS dazu. Dann kann man leichter weiterdiskutieren.
So long,
Martin
Man ist so alt, wie man sich fühlt.
Aber niemals so wichtig.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(