Moin!
Positionierbare Layer (deswegen auch Layer, trotz
Browserkrieg) sollen ein Bild enthalten, das sich bei Mausbewegung ändert.
Auch Netscape 4 kann Layer so: <div id="name" style="position:absolute">Inhalt</div>. Da braucht man eigentlich keine <layer>.
Bisher ist es mir gelungen, positionierbare Layer zu erstellen,
die unter Netscape UND MSIE funktionieren, Bildwechsel ist auch kein
Problem, wenn man Layer in der Funktion anspricht. Nur bei mehrerern
Layern haut es nicht hin.
Es geht aber. Hängt natürlich davon ab, wie du deine Funktionen schreibst. :)
Weiß jemand eine Möglichkeit, positionierbare Bereiche, die sich
ÜBEREINANDER anordnen lassen, ohne Layer zu erstellen? Selfhtml weiß da nichts.
Man braucht anscheinend tatsächlich Layer.
Richtig. Und das Zeigen und Verstecken und Bilderaustauschen cross-browser-kompatibel geht in Javascript so:
// Erstmal ein paar Objekte testen...
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
v6 = (document.getElementById)? true:false
// Funktion zum Bilderwechsel. Anzugeben sind:
// - Bildname wie in <img name="BILDNAME>
// - Das Bildobjekt, welches stattdessen dorthin soll (preload)
// (das kann man ohne Preload auch ganz schnell auf URL-Angaben umstricken ;) )
// - Die ID des Layers, in dem sich das Bild befindet (nur eine Layerebene!)
function changeImage(imgName,imgObj,layerid)
{
if (document.images[imgName])
{
document.images[imgName].src = eval(imgObj+".src");
}
else if (ns4)
{
document.layers[layerid].document.images[imgName].src = eval(imgObj+".src");
}
}
// Layer anzeigen
function showlayer(layerid)
{
if (ns4) document.layers[layerid].visibility = "show"
else if (v6) document.getElementById(layerid).style.visibility = "visible";
else if (ie4) document.all[layerid].style.visibility = "visible"
}
// Layer verstecken
function hidelayer(layerid)
{
if (ns4) document.layers[layerid].visibility = "hide"
else if (v6) document.getElementById(layerid).style.visibility = "hidden";
else if (ie4) document.all[layerid].style.visibility = "hidden"
}
Getestet unter MSIE 4+ , Netscape 4+ und Opera 5+ auf jeweils Windows und Mac.
Hoffe, das hilft ein wenig. :)
- Sven Rautenberg