Der Martin: IE streikt mal wieder

Beitrag lesen

Hallo,

Könnte mir ein JS-Profi nen Tip geben an was es liegt?

das hast du ja nun schon. Trotzdem:

<style type="text/css">
<!--

Das Auskommentieren von style-Abschnitten ist Unfug. Browser, die das style-Element nicht kennen, dürften nur nur in theoretischer Archäologie existieren.

.game {
position:absolute; top:0%; right:60%; bottom:90%; left:0%;
background-color: orange;   z-index:1;
}

Welche IEs möchtest du noch unterstützen? IE6 wohl nicht, denn der ist zu doof, die Breite eines Elements anhand seiner left/right-Koordinaten zu bestimmen (oder die Höhe anhand top und bottom).

Außerdem: Willst du wirklich so eine Orgie absoluter Positionierung veranstalten? Das kann nicht gesund sein.

<script language="JavaScript">

Fehler: Das erforderliche type-Attribut fehlt. Das language-Attribut ist dagegen für die Tonne.

<!--

Für das Auskommentieren von Script-Code mit HTML-Kommentaren gilt dasselbe, was ich oben schon über Kommentare im style-Block gesagt habe.

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

Was zum Geier hat das eval() hier für einen Sinn? Weg damit!

document.getElementsByName("game")[0].style.width = "90%";
    document.getElementsByName("game")[0].style.height = "90%";
    document.getElementsByName("game")[0].style.right = "0%";
    document.getElementsByName("game")[0].style.left = "0%";
    document.getElementsByName("game")[0].style.bottom = "";
    document.getElementsByName("game")[0].style.marginLeft = "auto";
    document.getElementsByName("game")[0].style.marginRight = "auto";
    document.getElementsByName("game")[0].style.top = "0%";
    document.getElementsByName("links")[0].style.top = "0%";

Du willst nicht ernsthaft achtmal das komplette DOM nach demselben Element durchsuchen?
Bestimme *einmal* eine Referenz auf das gesuchte Element und verwende die dann.
Außerdem sind die gesuchten Elemente divs, die sowieso kein name-Attribut haben dürfen (siehe unten). Aber dafür haben sie alle eine ID. Warum suchst du nicht danach?

<body style="background-color:blue" bgcolor="red" >

Och wie süß! Soll der Hintergrund nun blau, rot, violett, gestreift oder was auch immer sein? ;-)

<div id="game" class="game" name="game" onclick='game()'>Game</div>
<div id="links" class="links" name="links" onclick="vor('links')">links</div>
<div id="mitte" class="mitte" name="mitte" onclick="vor()">mitte</div>
<div id="rechts" class="rechts" name="rechts" onclick="vor('rechts')">rechts</div>
<div id="unten" class="unten" name="unten" onclick="vor('unten')">unten</div>

Diesen Elementen außer einer ID auch noch eine jeweils gleichnamige Klasse zu verpassen, sieht *sehr* unüberlegt aus. Und div hat kein name-Attribut. Wozu auch? AFAIK ist der IE in diesem Punkt der konsequenteste Browser; er ignoriert das name-Attribut hier tatsächlich. Die anderen (Opera, Firefox) tun einfach mal so, als wäre das erlaubt.

So long,
 Martin

--
Ich wollt', ich wär ein Teppich.
Dann könnte ich morgens liegenbleiben.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(