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$( function(){
var arrImagenes = [ 'fondo-1.jpg','fondo-2.jpg', 'fondo-3.jpg', 'fondo-4.jpg','fondo-5.jpg','fondo-6.jpg' ];
var imagenActual = 'fondo-1.jpg';
var tiempo = 3000;
var id_contenedor = 'bg'
setInterval( function(){
do{
var randImage = arrImagenes[Math.ceil(Math.random()*(arrImagenes.length-1))];
}while( randImage == imagenActual )
imagenActual = randImage;
cambiarImagenFondo(imagenActual, id_contenedor);
}, tiempo)
})
function cambiarImagenFondo(nuevaImagen, contenedor){
var contenedor = $('#' + contenedor);
//cargar imagen primero
var tempImagen = new Image();
$(tempImagen).load( function(){
tempImagen.src = 'img/fondos/' + nuevaImagen;
contenedor.css('backgroundImage', 'url('+tempImagen.src+')');
});
}