Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/10/2012, 14:52
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: [APORTE] rotador aleatorio sin repetición pocas imágenes

Cita:
Iniciado por furoya Ver Mensaje
Gracias. Es algo de tu escuela : "la línea del menor esfuerzo". (¿Seguís poniendo código en 'citas'?)
te respondo con una nueva versión
Cita:
var banners = new Array();
banners[0]= new Array("1156.png","http://www.enlace1.com");
banners[1]= new Array("1441.png","http://www.enlace2.com");
banners[2]= new Array("2192.png","http://www.enlace3.com");

var intervalo = '';

(function cambiarImagen(antiguo) {

var nuevo = Math.floor(Math.random() * banners.length)

if (antiguo == nuevo) {
clearTimeout(intervalo);
cambiarImagen(nuevo);
} else {
console.log(nuevo);
intervalo = setTimeout(function(){cambiarImagen(nuevo)}, 2000);
}

})(banners.length);
se trata de comparar el valor que se está mostrando con el nuevo valor que se mostrará, y jugar con limpiar y restablecer el temporizador hasta que el antiguo y el nuevo valor sean distintos.

es posible que se pierdan unas milésimas de segundo, nada apreciable, al limpiar el temporizador e invocar de nuevo a la función.

en la primera invocación se le pasa el largo del arreglo, para así asegurarnos que el primer valor es aleatorio
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 13/10/2012 a las 14:57