Foros del Web » Creando para Internet » Diseño web »

Imagen cambiante en el fondo SIN Flash ¿Cómo se hace?

Estas en el tema de Imagen cambiante en el fondo SIN Flash ¿Cómo se hace? en el foro de Diseño web en Foros del Web. Hola compañeros, Recién comienzo un nuevo proyecto de diseño Web. Aunque he diseñado Webs antes, hace un tiempo que estaba fuera del negocio y ahora ...
  #1 (permalink)  
Antiguo 18/07/2013, 07:50
Avatar de RAZGRIZ24  
Fecha de Ingreso: septiembre-2009
Mensajes: 143
Antigüedad: 15 años, 2 meses
Puntos: 2
Imagen cambiante en el fondo SIN Flash ¿Cómo se hace?

Hola compañeros,

Recién comienzo un nuevo proyecto de diseño Web.

Aunque he diseñado Webs antes, hace un tiempo que estaba fuera del negocio y ahora por determinadas cuestiones pues voy a hacer 1 diseño nuevo. La cosa es que nunca había planteado hacer lo que quiero hacer en ésta ocasión:

Antes, cuándo quería un fondo cambiante, simplemente diseñaba en Flash, pero eso es tecnología obsoleta y quiero una web fresca, operativa 100 y eficiente; por lo que mi cuestión es:

Quiero un fondo cuya imagen vaya cambiando cada X segundos ¿Cómo se hace eso?¿Es una etiqueta DIV con JS?¿Es simplemente JS aplicado al atributo background de "body"?

¡Gracias por orientarme foreros!
  #2 (permalink)  
Antiguo 18/07/2013, 08:49
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Imagen cambiante en el fondo SIN Flash ¿Cómo se hace?

Podrías usar animaciones CSS para conseguirlo.

Para que te hagas una idea, algo así:

Código CSS:
Ver original
  1. body {
  2.   animation: cambiarfondo 60s linear;
  3. }
  4.  
  5. @keyframes cambiarfondo {
  6.   0% {
  7.     background-image: url(perro.png);
  8.   }
  9.   33% {
  10.     background-image: url(gato.png);
  11.   }
  12.   66% {
  13.     background-image: url(iguana.png);
  14.   }
  15. }
  #3 (permalink)  
Antiguo 19/07/2013, 01:47
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 5 meses
Puntos: 17
Respuesta: Imagen cambiante en el fondo SIN Flash ¿Cómo se hace?

El problema que le veo a la solución de Pzin, es que background-image, no realiza transiciones y vas a tener saltos brusco con cada cambio de foto, aparte de un leve tiempo de vacio durante los primeros cambios (ya que las imagenes se cargan cuando pasas la url).

Para dejarlo más bonito y estetico, lo suyo sería usar javascript, y un contendor dedicado para esto.

Te paso un ejemplo en jquery con desvanecimiento de la fotos a ver si te sirve. Con el css es mas liviano para el navegador, pero esta el fallo de la transición de background y nuestras versiones obsoloteas del amigo IE y su compatibilidad a css3...

Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <html lang="es">
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>Example Background</title>
  6.         <script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js'></script>
  7.         <style>
  8.             #background {background-color: #FEFEFE; background-position: center center; background-repeat: no-repeat; display: block; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: -1; }
  9.         </style>
  10.     </head>
  11.  
  12.     <body>
  13.  
  14.         <div id='background' style='background-image: url("http://www.as.com/recorte/20090603dasdaimas_4/XLCO/Ies/Two_Yupa_siempre_forma.jpg");'></div>
  15.         <div id='body'>
  16.  
  17.             <h1>Hello world</h1>
  18.  
  19.         </div>
  20.  
  21.         <script type="text/javascript">
  22.  
  23.             var src = [ 'http://www.as.com/recorte/20090603dasdaimas_4/XLCO/Ies/Two_Yupa_siempre_forma.jpg', 'http://images.china.cn/attachement/jpg/site1006/20070913/001111015d890852f74214.jpg', 'http://bodyparts.webcindario.com/Prueba%20fotos/album/slides/fotos-de-chicas-guapas-tetas.jpg', 'http://www.motorspain.com/wp-content/uploads/2007/12/elisabetta-gregoraci-00.jpg', 'http://27.media.tumblr.com/tumblr_l9yjtc8RPV1qzd31no1_500.jpg' ];
  24.             var delay = 5000, //indica el tiempo entre cambio de imagenes
  25.                 fade = 500; //indica el tiempo que tarda la transición
  26.  
  27.             function preload(src){
  28.                 $.each(src, function(index, value) {
  29.                     $('<img/>').attr({'src':value});
  30.                 });
  31.             }
  32.  
  33.             function change(i){
  34.                 $('#background').delay(delay).fadeOut(fade,function(){
  35.                     $(this).css({'background-image':'url('+src[i]+')'}).fadeIn(fade, function(){
  36.                         i++;
  37.                         if(i==src.length){ i=1; };
  38.                         change(i);
  39.                     })
  40.                 });
  41.             }
  42.  
  43.             $(function(){
  44.                 preload(src);
  45.                 change(1);
  46.             })
  47.  
  48.         </script>
  49.  
  50.     </body>
  51. </html>

Esto podria definirse como un "slide a pantalla completa" si necesitas más opciones o te las programas tu o puedes recurrir a pluggins jquery como supersized o similares.

Espero que te sirva, un saludo.
  #4 (permalink)  
Antiguo 19/07/2013, 06:07
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Imagen cambiante en el fondo SIN Flash ¿Cómo se hace?

Cargar una librería entera para esto lo veo desproporcionado. Cualquier día cogeré un ascensor y resulta que funcionará con jQuery.

Mi ejemplo era una base de donde partir. Se puede perfectamente crear un contenedor con varias imágenes y aplicar transiciones, no sería ningún problema.
  #5 (permalink)  
Antiguo 19/07/2013, 12:55
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Respuesta: Imagen cambiante en el fondo SIN Flash ¿Cómo se hace?

Cita:
Cargar una librería entera para esto lo veo desproporcionado.

Etiquetas: cambiante, diseño, flash
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:42.