Introduccion a DHTML - Programación

4 - Programación

Tutorial creado por Chato. Extraido de: http://www.tejedoresdelweb.com/307/article-1058.html
03 de Enero de 2007

En este capítulo nos adentraremos en la creación de documentos con contenido dinámico usando las propiedades anteriores mediante funciones en Javascript. Como vimos en el capitulo anterior, cada browser tiene distintas propiedades y distintas formas de referenciar cada propiedad. Para evitar este problema, es útil construir funciones independientes de cada Browser. Asi, el hecho de mover o modificar un elemento es transparente para el programador.

Metodos Layer

Netscape provee por si mismo un conjunto de funciones predefinidas que son aplicables a objetos Layer. La lista es la siguiente:

load("filename", y)

moveAbove(layerObj)

moveBelow(layerObj)

moveBy(deltaX, deltaY)

moveTo(posX, posY)

moveToAbsolute(posX, posY)

resizeBy(deltaX, deltaY)

resizeTo(width, height)

La forma de usar estas funciones es: document.myLayer.moveTo(50,30).

Detectar Browser

Antes de comenzar a construir funciones, necesitamos saber que browser esta utilizando el cliente. Para hacer esto, utilizamos en siguiente código en Javascript:

var isNav, isIE;

var coll = ;</FONT></P> <P class=CompletoP><FONT size=2>var styleObj = ;

if( parseInt( navigator.appVersion >= 4 ) {

if( navigator.appName == "Netscape" ) {

isNav = true;

} else {

isIE = true;

coll = "all.";

styleObj = ".style"; } }

A modo de ejemplo, si queremos modificar la propiedad Z-Index del elemento myObj (que es una propiedad igual para ambos browsers, en caso contrario, habria utilizar la propiedad adecuada dependiendo del valor de las variables isNav y isIE), sencillamente colocamos:

var obj = eval("document." + coll + "myObj" + styleObj);

obj.zIndex = 5;

Librería

En esta sección veremos como construir funciones independientes del browser utilizado. Es de mucha utilidad almacenar este conjunto de funciones dentro de una libreria .js. A modo de ejemplo, veamos tres funciones tipicas. Para ver la lista completa haga clic (con el botón derecho, grabar a disco, si no funciona un click simple; esto porque el archivo está en Javascript y algunos browsers intentarán interpretarlo).

// Convierte un nombre como string de un objeto o una referencia a un objeto // en un objeto valido, dependiendo del browser function getObject(obj) {

var theObj;

if( typeof obj == "string" ) {

theObj = eval("document." + coll + obj + styleObj);

} else {

theObj = obj;

} return theObj; }

// Posiciona un objeto en una coordenada dada en pixeles function shiftTo(obj, x, y) {

var theObj = getObject(obj);

if( isNav ) {

theObj.moveTo( x,y );

} else { theObj.pixelLeft = x;

theObj.pixelTop = y; } }

// Cambia el color de fondo de un objeto function setBGColor(obj, color) {

var theObj = getObject(obj);

if( isNav ) { theObj.bgColor = color;

} else { theObj.backgroundColor = color; } }

La forma de utilizar esta libreria, seria de la forma:

<script language="Javascript" src="dhtml.js"></script>

Resize y Netscape

Netscape tiene el problema que cuando el usuario modifica el tamano de la ventana del Browser, todo el Layout (esquema) de los elementos se destruye. La solución es recargar la página.

Para evitar este problema, debemos obligar a regargar la pagina cuando el usuario modifique el tamaño de la ventana. Para hacer esto, utilizamos el siguiente código:

// Funcion que recarga la pagina function handlerResize() {

location.reload();

return false; }

// primer uso if( isNav ) {

window.captureEvents(Event.RESIZE);

window.onResize = handlerResize(); }

// segundo uso <body onResize="handlerResize()">

2 opiniones

Muy buen curso.

Es paratodas aquellas personas q quieran sacarle probechi y darle tiempo para estudiar.
Funciona el codigo java dentro de un span.

Saben estuve mirando el codigo fuente del famoso hi5 y en la parte donde uno pones sus videos y esas cosas para dornar su espacio, me di cuenta q cuando coloco algun codigo de java no funciona, quisiera saber si es que no funcionas porque es imposible o quisas existe alguna otra forma de colocarlo.

Tutoriales relacionados con 'Introduccion a DHTML'

Esta tecnologia permite posicionamiento dinamico de elementos, y es la extension natural de la idea... Más »
En estas páginas de CSS pretendemos dar a conocer la tecnología con un enfoque práctico... Más »

Autor y licencia de 'Introduccion a DHTML'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.