Robert Bamler: funktion, Übergabeparameter,CSS

Beitrag lesen

Hallo Struppi,

Da ist fehlerträchtig, langsamer und führt im Netscape vermehrt zu Abstürzen und zu allem Überdruss ist es auch noch überflüssig:

if (document.layers) {
   document.layers[divid].visibility='show';
}

Ähm ja, natürlich. Jetzt habe ich mich selbst verwirrt durch meine Bemerkung, wie man Layer in NC 4 ansprechen kann. Wenn die Nummer des Layers bekannt ist, geht das natürlich so, wie du oben geschrieben hast. Aber geht das auch, wenn nur der Name (aus dem name-Attribut im layer-Tag) bekannt ist? Allerdings ist dann natürlich auch mein Vorschlag falsch, es müsste heißen:

eval("document." + divid + ".visibility = 'show');

(unter der Annahme, dass in divid der Name, nicht die Nummer des Layers gespeichert ist.)

Aber das steht auch alles in der von mir geposteten Rubrik.

Meinst du "Objekt-Handling in JavaScript"? Liegt gerade im Ausgabefach meines Druckers ;-)

<besserwisserisch>(Fällt mir gerade auf: Müsste es nicht eigentlich entweder "Object-Handling" (mit "c") oder "Objekt-Bearbeitung" heißen?)</besserwisserisch>

Es gibt genau drei Methoden um Layer per JS zu finden und anzusprechen

function getLayer(id)
{
    if(document.layers) return document.layers[id];
    else if(document.getElementById) return document.getElementById(id);
    else if(document.all) return document.all[id];
    alert('Der Browser kann kein dHTML");
    return null;
}

Irgendwie kann ich mich mit der Bezeichnung "Layer" für div-Tags noch nicht ganz anfreunden, auch wenn es rein sprachlich korrekt ist...

Ich habe (als ich DHTML-geschrieben habe) immer zwischen Layern und divs unterschieden. Die einen waren die Netscape-Lösung und ließen sich über das document.layers-Objekt ansprechen. Die anderen waren die Microsoft-Alternative und hörten auf document.all, wie alles im IE (DOM-fähige Browser gab's damals noch nicht). Deswegen habe ich mit dem Ansprechen von Layern auch nur das Ansprechen von layer-Tags (also <layer ...>...</layer>) über das document.layers-Objekt gemeint, also das, was oben im ersten if-Zweig steht.

Robert