Joachim: layer und standards?

Beitrag lesen

hi,

Ich weiß, dass layer bei den verschiedenen Browsern leider unerschiedliche syntaxe haben.

layer gibt es nur im nc4x. _Positionierte_ Div z. B. kannst Du crossbrowser verwenden, da sie auch im nc4x zum Layer-objekt werden.

Gibt es auch layer-befehle die gleich sind?

Man spricht vom Methoden, die koennen durchaus gleich sein. Die CSS-Eigenschaft "visibility" kannst Du in z. B. im nc4x, im Mozilla und Opera, und auch im IE mit "visibility = 'visible'" veraendern (ja, nc4x versteht auch visibility, angeblich solls nur irgendeine Ur-Version geben, die es nicht kann.)
Unterschiede gibt es vor allem in der Objektreferenz.

Wo gibt es eine Doku zu den Layern?

Schon mal hier gestoebert? Ansonsten: Dokumentation zum DOM Level 2 und ECMA Script beim W3C, Javascript Doku bei Netscape und JScript Doku bei Microduft. Empfehlenswert auch die faq der JS-Newsgroup www.dcljs.de.

Gibt es vieleicht eine function (vielleicht auch von irgendwem geschrieben) die den layer-befehl, so lange sie ihn erkennt, für den browser so umschreibt, dass er ihn erkennt *g* . z.B. anstatt "show" dann "visible" einsetzt. (in php wenns geht)

Nein, PHP findet auf dem Server statt. Natuerlich kannst Du anhand des User-Agenten den Browser identifizieren und nur den spezifischen Code ausgeben, besser ist aber eine JS-Funktion die die Referenz "automatisiert":

// some known objects
var nc      =  !!(document.captureEvents    &&  !document.getElementById);
var ie4     =  !!(document.all              &&  !document.documentElement);

// einfache div-layer referenzieren
function dRef(num) {return (nc? document.layers[num] : (ie4? document.all[num]       : document.getElementById(num)))}
function dRefS(num) {return (nc? document.layers[num] : (ie4? document.all[num].style : document.getElementById(num).style))}

Erstere liefert die reine Referenz, letztere haengt noch style an (benoetigt fuer den Zugriff auf CSS-Eigenschaften). Die "known objects" besorgen eine Browser-Identifizierung anhand bekannter Objekte.

Die CSS-Eigenschaft "visibility" veraenderst Du nun so:
dRefS("DEINE_DIV_ID").visibility = "visible";

suicide

so schlimm ist es auch wieder nicht ;-)

Gruesse  Joachim