Fecha de publicación: 2008/08/25
Para activar los comportamientos Javascript cuando se haya cargado el DOM es más sencillo utilizar algún framework, como Prototype o Jquery.
En estos ejemplos se pretende lanzar la función prueba.
Primera variante:
document.observe("dom:loaded", prueba);
Segunda variante:
document.observe("dom:loaded", function() {
prueba();
});
$(document).ready(function(){
prueba();
});
Fecha de publicación: 2008/02/11
El método appendChild permite insertar un elemento al final de otro.
Supongamos que tenemos este HTML:
<div>
<p id="existente">Elemento existente</p>
</div>
Y queremos que pase a ser así:
<div id="contenedor">>
<p id="existente">Elemento existente</p>
<p id="nuevo">Elemento nuevo</p>
</div>
No habría más que utilizar el siguiente código Javascript:
elemento1 = document.createElement('p');
elemento1.appendChild(document.createTextNode('Elemento nuevo'));
elemento1.id = 'nuevo';
elemento2 = document.getElementById('contenedor');
elemento2.appendChild(elemento1);
El método insertBefore tiene una función similar a appendChild, solo que no inserta el elemento hijo justo al final del elemento padre, sino antes de un elemento concreto que hay que especificar.
Supongamos que tenemos este HTML:
<div>
<p id="existente">Elemento existente</p>
</div>
Y queremos que pase a ser así:
<div>
<p id="nuevo">Elemento nuevo</p>
<p id="existente">Elemento existente</p>
</div>
No habría más que utilizar el siguiente código Javascript:
elemento1 = document.createElement('p');
elemento1.appendChild(document.createTextNode('Elemento nuevo'));
elemento1.id = 'nuevo';
elemento2 = document.getElementById('existente');
elemento2.parentNode.insertBefore(elemento1,elemento2);
Fecha de publicación: 2007/12/29
He montado un ejemplo de secciones de página desplegables.
Al cargar la página esas secciones se pliegan automáticamente, y el encabezado que las precede adquiere forma de enlace para poder desplegarlas y plegarlas. Si Javascript no está disponible, no habrá enlace en el encabezado ni se plegarán las secciones.
El bloque de secciones es precedido por un menú con dos enlaces: uno para plegar todas las secciones y otro para desplegarlas todas. Este menú se inserta mediante Javascript, por lo que en ausencia de Javascript no se mostrará.
Su funcionamiento se ha comprobado en Internet Explorer (versiones 5.5, 6 y 7), Firefox 2.0.0.11 (Windows XP), Iceweasel 2.0.0.8 (Debian 4.0), Opera 9.25 (Windows XP), Opera 9.24 (Debian 4.0), Konqueror 3.5.5 (Debian 4.0) y Safari 3.0.4 (Windows XP).
Ver ejemplos de funcionamiento:
Fecha de publicación: 2007/06/26
Las interfaces web se componen de tres capas:
Presentación y comportamiento son opcionales.
Se trata del contenido y de su estructuración semántica: el documento HTML. Cada porción de texto deberá ser contenida en el elemento adecuado a su contexto (párrafos, listas, encabezados, etc.), o llevar la información adicional que sea necesaria (el texto alternativo en las imágenes, por ejemplo).
Aquí no se definirá absolutamente nada relacionado con la presentación: nada de configurar colores, tipografías, fondos, etc. Nada.
Si todo esto se hace correctamente se habrá dado un paso muy importante hacia la accesibilidad, y también en cuanto al posicionamiento en buscadores. El documento será legible sin necesidad de las otras dos capas.
En esta capa se definirá el aspecto del contenido, mediante hojas de estilo CSS.
El CSS se introduce preferentemente en un archivo, o varios, separados del contenido.
Se pueden aplicar hojas de estilo para dispositivos específicos: pantalla (la más habitual), PDA, impresoras, lectores de pantalla, etc. De esta forma se podrá optimizar el aspecto de un sitio web atendiendo a las necesidades específicas de cada dispositivo.
Además hacer la capa de presentación separada de la de contenido tiene otra ventaja importante: con solo cambiar la hoja de estilo, cambia el aspecto de todo el sitio al que se aplique la misma. Un ejemplo interesante de esta ventaja es el CSS Zen Garden, donde con un mismo contenido pero con diferentes hojas de estilo se consiguen resultados muy variados.
Se trata de añadir funcionalidades con algo más de complejidad, como elementos desplegables, rollovers, etc. Se hace mediante Javascript que interactue con el DOM.
El código Javascript deberá estar contenido en archivos externos, igual que las hojas de estilo en la capa anterior.
La adición de esta capa no debe impedir el correcto acceso al contenido.
Fecha de publicación: 2007/06/11
La propiedad de CSS text-transform es muy útil para transformar los caracteres de un texto en mayúsculas o minúsculas. Puede aplicarse a cualquier elemento.
Esta propiedad puede tener los siguientes valores:
Su funcionamiento puede verse limitado cuando se utiizan caracteres que no pertenezcan al alfabeto latino.
En el siguiente ejemplo todos los caracteres de los elementos H1 existentes en el documento pasarían a estar en mayúsculas:
h1 {text-transform: uppercase;}
Ejemplo de uso con Javascript-DOM (solo se ha de poner uno de los valores):
Object.style.textTransform=none|capitalize|uppercase|lowercase