Calocybe: / (DHTML) Layer in Tabellenzellen (oder wo liegt das Problem?)

Beitrag lesen

Hallo Leute!

Diesmal habe ich aber ein echtes Problem.

In der folgenden Tabelle moechte ich ein paar kleine Texte dynamisch reinschreiben:

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="575">
        <TR><TD COLSPAN="4"> </TD></TR>

<TR>
            <TD WIDTH="145" CLASS="y2kcountdown"><LAYER ID="nsy2k0"></LAYER><SPAN ID="iey2k0"></SPAN></TD>
            <TD WIDTH="140" CLASS="y2kcountdown"><LAYER ID="nsy2k1"></LAYER><SPAN ID="iey2k1"></SPAN></TD>
            <TD WIDTH="145" CLASS="y2kcountdown"><LAYER ID="nsy2k2"></LAYER><SPAN ID="iey2k2"></SPAN></TD>
            <TD WIDTH="145" CLASS="y2kcountdown"><LAYER ID="nsy2k3"></LAYER><SPAN ID="iey2k3"></SPAN></TD>
        </TR>
    </TABLE>

Dazu habe ich aehnlich wie in </selfhtml/tfcaa.htm> einen Layer fuer den Navigator und ein SPAN fuer den IE definiert. In folgenden Codeabschnitt, sieht man, wie ich das machen wollte. Mit BODY Onload wird die Funktion wcc() aufgerufen, die wiederum fuer jede der Tabellenzellen die Funktion wcc2() aufruft. Diese schreibt nun abhaengig vom verwendeten Browser den Inhalt einer einzelnen Zelle neu.

<SCRIPT LANGUAGE="JavaScript"><!--
        var y2kMonths, y2kDays, y2kHours, y2kMinutes;

function wcc2(num, content) {
            if (document.all) {
                eval("document.all.iey2k" + num + ".innerHTML = "" + content + "";");
            } else if (document.layers) {
                eval("document.nsy2k" + num + ".document.open();");
                eval("document.nsy2k" + num + ".document.write("" + content + "");");
                eval("document.nsy2k" + num + ".document.close();");
            }
        }

function wcc() {
            wcc2(0, y2kMonths  + " MONATE");
            wcc2(1, y2kDays    + " TAGE");
            wcc2(2, y2kHours   + " STUNDEN");
            wcc2(3, y2kMinutes + " MINUTEN");
        }
    }
    //--></SCRIPT>

<BODY OnLoad="wcc();">

Soweit, so gut. Mit dem IE funktioniert das auch wunderbar, zumindest in der Version 4. Der Netscape bringt es immerhin auch fertig, die Inhalte neu zu schreiben. NUR: Diese Layer sind dann nicht mehr an der richtigen Position innerhalb der Tabelle (irgendwo mitten auf der Seite), sondern ganz oben ganz links ausgerichtet.

Wer weiss warum? Und was kann man dagegen tun? Ich kann zwar mit TOP und LEFT die Layer absolut positionieren, nur das will ich natuerlich nicht.

Calocybe - ganz schoen ratlos