6.- MODIFICAR-ESCRIBIR CONTENIDOS EN LAYERS.
6.1.- USO DEL OPERADOR new
Como se mencionó antes, desde JS podremos generar nuevos layers en un documento HTML ya cargado. Para ello bastará con utilizar el operador new sobre un objeto de tipo layer. Por ejemplo:
capa = new Layer(250, capaPadre);
define un nuevo layer que nombra como capa y que tendrá un ancho de 250 pixels y cuyo padre (layer contenedor) será capaPadre .
El layer contenedor (segundo parámetro) es opcional, de forma que en caso de no especificarse, el nuevo layer será de primer nivel en el documento. Una vez creado el layer, se le podrá dar contenido asignando un valor a su propiedad src , llamando al método load , o abriendo el documento del mismo y escribiendo sobre él con document.write .
6.2.- MODIFICAR-ESCRIBIR CONTENIDOS EN LAYERS.
Sólo se puede utilizar el operador new sobre el constructor layer después de que la página se haya cargado completamente.
Cuando se aplica el método write sobre el document de un layer, su contenido anterior desaparece y es reemplazado por lo que se escriba en el momento. Para que el cambio se haga efectivo será necesario cerrar este documento. Otro punto a tener en cuenta es que sólo un layer puede estar abierto en un momento dado.
Por ejemplo, si se desea cambiar el contenido de un layer de nombre capa , basta con indicar:
<LAYER ID="capa" BGcolor="green">
<H1>Encabezamiento del layer</H1>
<SCRIPT>
document.write("<p>contenido del layer recien creado...</p>");
document.close();
</SCRIPT>
</LAYER>
Un ejemplo más elaborado sería:
<LAYER ID="capa" BGcolor="green">
<H1>Encabezamiento del layer</H1>
</LAYER>
<SCRIPT>
function cambiaContenido() {
document.capa.document.write("<HR>Nuevo contenido...<HR>");
document.capa.document.close();
}
</SCRIPT>
<FORM NAME="form">
<INPUT TYPE=button VALUE="CHANGE CONTENT"
ONCLICK="cambiaContenido();return false;">
</FORM>
En E4, podemos acceder al código HTML de un layer mediante:
document.all.layerID.innerHTML = "texto nuevo"
document.all["layerID"].innerHTML = "texto nuevo"
Una función independiente del navegador podría ser:
function modifica(id,texto) {
if(n4){
document.layers[id].document.write(text);
document.layers[id].document.close();
}else if(e4) document.all[id].innerHTML = text
}
|