Cita:
Iniciado por Naahuel
Código Javascript
:
Ver original//cambiar imagen de fondo por una lista aleatoria.
//Nahuel Jose
$( function(){
var arrImagenes = [ 'fondo-1.jpg','fondo-1.jpg', 'fondo-2.jpg', 'fondo-3.jpg' ];
var imagenActual = 'fondo-1.jpg';
var tiempo = 3000;
var id_contenedor = 'main-wrap'
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(){
contenedor.css('backgroundImage', 'url('+tempImagen.src+')');
});
tempImagen.src = 'images/' + nuevaImagen;
}
Muy bueno el script, puedes hacer esto para evitar el do while:
Código Javascript
:
Ver originalArray.prototype.noRepetir = function(){
this.esNuevo = this.esNuevo == null;
this.copia = this.esNuevo || !this.copia.length ? this.concat() : this.copia;
return this.copia.splice(Math.floor(Math.random() * this.copia.length), 1);
}
var arr = [2, 'abc', false, [], 'def', {}, true];
for(i = 0; i<14; i++) document.write(arr.noRepetir()+'<br>');
Saludos (: