El usar una capa para introducir texto, es una herramienta que se puede comparar con el uso de tablas para colocar el texto de una forma determinada en nuestra página. Cuando se inserta este texto en una capa, se ajusta a ella de la misma manera que se ajusta al documento cuando no está en ninguna capa. Este hecho lo podemos aprovechar para provocar saltos de línea, o para situar las palabras como más nos apetezca, simplemente cambiando el alto y el ancho de la capa.
Bien, tras esto, vayamos ahora con el tema de este apartado. Vamos a ver cómo podemos cambiar el texto que contiene una capa, y escribir en ella, por ejemplo, el contenido de nuestras variables. Para ello, debemos modificar el contenido del tag DIV.
En Caso del Explorer
En el Internet Explorer, podemos accedar al contenido HTML que está en un tag DIV con lo siguiente:
document.all.IDDiv.innerHTML = "Aquí va el texto"Donde IDDiv es el identificador de la capa que vamos a modificar. Otra forma de hacer los mismo es:
document.all["IDDiv"].innerHTML = "Aquí va el texto"
De esta forma, se evalúa IDDiv como una ristra, y se convierte en una forma más útil a la hora de hacer una página compatible con ambos navegadores.
En Caso del Netscape
Puesto que en el Netscape cada capa define su propio documento, cada una de ellas tiene prácticamente las mismas posibilidades que el documento principal. Si quisiésemos reescribir un documento, usaríamos la función write para el texto, y close para indicar que el proceso de escritura ha finalizado:
document.open()
document.write("Aquí va el texto")
document.close()
Pero en el caso concreto de una capa, que es lo que nos interesa, debemos usar el vector layers antes de open, write y close:
document.layers["IDDiv"].document.open()
document.layers["IDDiv"].document.write("Aquí va el texto")
document.layers["IDDiv"].document.close()
Combinando Ambos
Este es otro caso en el que la sintaxis difiere entre ambos navegadores, y se convierte en código susceptible de ser introducido en una función genérica que tenga en cuenta el navegador:
function Escritura (id,texto,capaReferencia)
{
var capa
if (ns4)
{
if (capaReferencia)
capa = eval ('document.'+capaReferencia+'.document.'+id+'.document')
else
capa = document.layers[id].document
capa.open()
capa.write(texto)
capa.close()
}
else
if (ie4)
document.all[id].innerHTML = texto
}
Con esta función implementada, todo lo que tenemos que hacer es indicar la capa a cambiar, y el texto que queramos colocar. capaReferencia indica la capa en la que está situada la capa que queremos modificar. Sólo valdría distinto de nulo cuando tuviésemos capas anidadas.Una llamada a esta función podría ser:
Escritura ("capa", null, "Aquí va el texto")
Ejemplo
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.