Gunnar Bittersmann: .hover und OnMouseOver

Beitrag lesen

@@Pinki:

nuqneH

for (i=0; i<5;i++)

Schleifenindizes sollten <http://de.selfhtml.org/javascript/sprache/variablen.htm@title=lokale Variablen> sein.

{ indo = eval(document.getElementsByTagName("div")[i].style.getPropertyValue("z-index"));

Wozu eval()? Das ist meist böse und meist unnütz.

Mit getPropertyValue() werden wohl auch nicht alle Browser glücklich.

Und was wilst du damit eigentlich bezwecken? Der z-Index ist initial nicht gesetzt. Was also willst du auslesen?

document.getElementsByTagName("div")[i] ist auch äußest zweifelhaft. Bei späteren Markup-Änderungen sprichst du damit evtl. div-Elemente an, die du gar nicht ansprechen willst.

ind=ind+1;

Dafür könntest du allgemein kürzer schreiben ind += 1;, beim Hochzählen um 1 natürlich einfach ind++;

document.getElementsByName(was)[0].style.zIndex = ind;

<div class="game" id="game" onMouseOver="vor('game')" name="game">Game</div>

Nö, div-Elemente dürfen gar keine @name-Attribute haben. Sie haben doch IDs, du könntest sie mit document.getElementById() ansprechen.

Solltest du aber nicht, sondern die Referenz auf das Element als Parameter übergeben. Nicht

<div class="links" id="links" onMouseOver="vor('links')" name="links">links</div>

sondern <div id="links" onmouseover="[code lang=javascript]vor(this)">links</div>[/code]

In der Funktion vor(was) hast du dann in was schon die Referenz aufs Elementobjekt.

Die unsinnigen @class- und @name-Attribute hab ich gleich mit entsorgt. Klassen machen keinen Sinn, wenn ihnen nur jeweils ein Element angehört. In CSS gibt es auch ID-Selektoren. [CSS2 §5]

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)