Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/05/2015, 13:29
alfonmaco
 
Fecha de Ingreso: mayo-2015
Mensajes: 9
Antigüedad: 9 años
Puntos: 1
Mensaje Respuesta: fondo con javascript

creo que el error esta en las ultimas lineas.
tempImagen.src = 'img/fondos/' + nuevaImagen; debe ir dentro del load. ya que si lo pones al final no existe cuando la cargas al contenedor.css

Pruebalo asi y comentas.


Código Javascript:
Ver original
  1. $( function(){
  2.     var arrImagenes = [ 'fondo-1.jpg','fondo-2.jpg', 'fondo-3.jpg', 'fondo-4.jpg','fondo-5.jpg','fondo-6.jpg' ];
  3.     var imagenActual = 'fondo-1.jpg';
  4.     var tiempo = 3000;
  5.     var id_contenedor = 'bg'
  6.     setInterval( function(){
  7.         do{
  8.             var randImage = arrImagenes[Math.ceil(Math.random()*(arrImagenes.length-1))];
  9.         }while( randImage == imagenActual )
  10.         imagenActual = randImage;
  11.         cambiarImagenFondo(imagenActual, id_contenedor);
  12.     }, tiempo)
  13. })
  14.  
  15.  function cambiarImagenFondo(nuevaImagen, contenedor){
  16.         var contenedor = $('#' + contenedor);
  17.         //cargar imagen primero
  18.         var tempImagen = new Image();
  19.         $(tempImagen).load( function(){
  20.         tempImagen.src = 'img/fondos/' + nuevaImagen;
  21.             contenedor.css('backgroundImage', 'url('+tempImagen.src+')');
  22.         });
  23.        
  24.     }