Ver Mensaje Individual
  #9 (permalink)  
Antiguo 02/04/2011, 08:57
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Hacer que el background cambie la imagen cada cierto tiempo

Cita:
Iniciado por Naahuel Ver Mensaje
Código Javascript:
Ver original
  1. //cambiar imagen de fondo por una lista aleatoria.
  2. //Nahuel Jose
  3. $( function(){
  4.     var arrImagenes = [ 'fondo-1.jpg','fondo-1.jpg', 'fondo-2.jpg', 'fondo-3.jpg' ];
  5.     var imagenActual = 'fondo-1.jpg';
  6.     var tiempo = 3000;
  7.     var id_contenedor = 'main-wrap'
  8.     setInterval( function(){
  9.         do{
  10.             var randImage = arrImagenes[Math.ceil(Math.random()*(arrImagenes.length-1))];
  11.         }while( randImage == imagenActual )
  12.         imagenActual = randImage;
  13.         cambiarImagenFondo(imagenActual, id_contenedor);
  14.     }, tiempo)
  15. })
  16.  
  17. function cambiarImagenFondo(nuevaImagen, contenedor){
  18.     var contenedor = $('#' + contenedor);
  19.     //cargar imagen primero
  20.     var tempImagen = new Image();
  21.     $(tempImagen).load( function(){
  22.         contenedor.css('backgroundImage', 'url('+tempImagen.src+')');
  23.     });
  24.     tempImagen.src = 'images/' + nuevaImagen;
  25. }
Muy bueno el script, puedes hacer esto para evitar el do while:
Código Javascript:
Ver original
  1. Array.prototype.noRepetir = function(){
  2.   this.esNuevo = this.esNuevo == null;
  3.   this.copia = this.esNuevo || !this.copia.length ? this.concat() : this.copia;
  4.   return this.copia.splice(Math.floor(Math.random() * this.copia.length), 1);
  5. }
  6. var arr = [2, 'abc', false, [], 'def', {}, true];
  7. for(i = 0; i<14; i++) document.write(arr.noRepetir()+'<br>');
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red