Penso che questo possa tornare utile:
preso da http://www.quirksmode.org/js/dhtmloptions.html
codice:
function getObj(name)
{
if (document.getElementById)
{
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all)
{
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers)
{
this.obj = getObjNN4(document,name);
this.style = this.obj;
}
}
function getObjNN4(obj,name)
{
var x = obj.layers;
var foundLayer;
for (var i=0;i<x.length;i++)
{
if (x[i].id == name)
foundLayer = x[i];
else if (x[i].layers.length)
var tmp = getObjNN4(x[i],name);
if (tmp) foundLayer = tmp;
}
return foundLayer;
}
Questo per avere un riferimento ai layer in maniera crossbrowser (funziona da NS 4 a IE6)
salvate il codice Js in un file DHTMLApi.js ed ogni volta che dovete lavorare con i layer non dovete far altro che includere lo script
<script language="javascript" src="DHTML.js"></script>
Dopo aver incluso lo script il layer è chiamato in questo modo:
codice:
var x = new getObj('NomeLayer');
L'oggetto poi diventa un container dei 2 oggetti:
.obj che contiene tutte le proprietà dell'oggetto al di fuori degli styles
codice:
alert(x.obj.id) // dara' l'id del layer per esempio
style contiene tutte le proprieta css dell'oggetto
codice:
x.style.top = '20px';
x.style.left = '20px';
x.style.visibility = 'visible';
x.style.overflow = 'hidden';
x.style.color = '#FF00CC';
x.style.fontStyle = 'Italic'; //non funzia su IE 4 su MAC
x.style.fontFamily = 'Arial'; //non funzia su IE 4 su MAC
.....etc etc per tutte le proprieta'