Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Artículos > Lenguajes de script > Javascript > Cambio de imágenes (II): Transiciones
-Artículos

Cambio de imágenes (II): Transiciones

1 . Tipos de transiciones
2 . Modificar el script de cambio de imágenes

En Internet Explorer 4.x y superiores, existe la posibilidad de definir transiciones entre una imagen y otra. Podemos extender el índice con imágenes que cambian al pasar el ratón por encima, colocando una transición al dejar de señalar una opción con el ratón.

Tipos de transiciones

Existen 24 transiciones predefinidas en el Explorer 4. Vamos a indicarlas con su código identificativo y una demostración práctica. Pasa el ratón por encima de la imagen y verás que, al retirarlo, la imagen original no aparece inmediatamente, sino tras una transición:

Identificador Nombre Demostración
0 Box in
1 Box out
2 Circle in
3 Circle out
4 Wipe up
5 Wipe down
6 Wipe right
7 Wipe left
8 Vertical blinds
9 Horizontal blinds
10 Checkerboard across
11 Checkerboard down
12 Random dissolve
13 Split vertical in
14 Split vertical out
15 Split horizontal in
16 Split horizontal out
17 Strips left down
18 Strips left up
19 Strips right down
20 Strips right up
21 Random bars horizontal
22 Random bars vertical
23 Random

Modificar el script de cambio de imágenes

La idea es lograr que nuestros menús se comporten de esta manera en Explorer, pero que se puedan ver sin problemas en otros navegadores. Para ello modificaremos el script que realizamos en el artículo que inauguró esta sección del taller web: Cambio de imágenes. Lo primero que haremos será declarar un estilo que contenga la transición:

<STYLE TYPE="text/css">
.imgTrans {
  filter:revealTrans(duration=1, transition=10)
}
</STYLE>

Hemos escogido la transición número 10 (checkeboard across), con una duración de 1 (este parámetro indica la velocidad a la que se desarrollará la animación de transición). Para poder utilizarla, las imágenes que utilizamos deberán tener este estilo recién definido:

<A HREF="../recursos.htm"
   onMouseOver="act('menu0');"
   onMouseOut="desact('menu0');">
 <IMG NAME="menu0" SRC="menu0.gif" BORDER=0 class="imgTrans"></A>

Por último, deberemos arrancar y parar las transiciones según corresponda. Para lograrlo deberemos modificar las funciones act y desact. Cada elemento en JScript posee una colección (vector) llamada filters desde la que podremos acceder a los objetos Filter asociados. Estos objetos disponen de varias propiedades y métodos que no vamos a ver aquí. Ahora nos interesan sólo tres:

apply()
Permite el uso de esta transición en el objeto. Esto es necesario porque pueden existir varios filtros definidos, pero sólo uno ejecutandose a la vez.
play()
Hace comenzar la animación.
stop()
Para la animación de la transición.

Por tanto, el ciclo de vida de estas transiciones será "apply", "play", "stop". Si nos aseguramos antes de que existe el filtro (es decir, que estamos en Explorer 4 o superior), podemos emplear los métodos explicados en nuestras funciones de imágenes:

function act(nombreImagen) {
  if(document.images[nombreImagen].filters != null)
    document.images[nombreImagen].filters[0].stop();
  if (document.images)
    document[nombreImagen].src=on[nombreImagen].src;
}

function desact(nombreImagen) {
  if(document.images[nombreImagen].filters != null)
    document.images[nombreImagen].filters[0].apply();
  if (document.images)
    document[nombreImagen].src=off[nombreImagen].src;
  if(document.images[nombreImagen].filters != null)
    document.images[nombreImagen].filters[0].play();
}

De este modo, podremos mejorar visualmente nuestra web con poco esfuerzo y, aunque no todos los usuarios puedan verlo, al menos los demás no verán empeorada su visita.

 

Últimos comentarios
Últimos 5 comentarios

No me Sale (14/03/2008)

Por
Buenas, he estado buscando un efecto como este, pero resulta que al momento de correrlo me da un error, me haria alguien el favor de decirme como quedaria el codigo completo solo para cambiarle el nombre de las imagene?, se los agradecere.

No es necesario usar java (30/11/2006)

Por
En java lo primero que pasa es dar error o sea que no sirve y despues no hace falta usar java, usando css se puede y mejor y sin \"ERRORES\"...

Firefox.. (29/06/2004)

Por
creo que es muy bueno en IE pero en Mozila Firefox no funciona como deberia , solo quiero saber si es posible las transiciones en Firefox si o no?
gracias
goodbye

Podia estar mejor (02/12/2003)

Por
la de dios que interesante, pero la verdad que si pones esto, es para los incultos, y esque la verdad que el primer articulo de cambio de imagen lo domino pero este, no tengo ni idea donde poner ni el estilo ni na de na.Mañana a rayar al profe de programacion :)

help (18/10/2003)

Por
No me sale. marca un error.
do you wish to debug?.
Quien me puede enviar un ejemplo hecho para dos imagenes, please.
Gracias.
 
Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network