Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/04/2009, 01:59
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Optimizacion de f(x) y aleatoreidad

3. Nada te lo asegura. Si lo que quieres es eso, lo que puedes hacer es:

Código javascript:
Ver original
  1. var fotos = ["foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg"];
  2. fotos.sort(function(a,b) {return 2*Math.random()-1});
  3. // y ya las tienes desordenadas aleatoriamente sin repetirse:
  4. alert(fotos);
Ahora ya no generas un número aleatorio cada vez sino que las muestras en orden. Por ejemplo, algo parecido a esto:

Código javascript:
Ver original
  1. var fotos = ["foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg"];
  2. fotos.sort(function(a,b) {return 2*Math.random()-1});
  3. function cambiar_fondo(foto){
  4.     document.getElementById('cont_foto_intro').style.background = "url('images/intro/"+ foto + "') no-repeat";
  5. }
  6. var i = 0;
  7.  
  8. function ciclo() {
  9.     cambiar_fondo(fotos[i]);
  10.     i++;
  11.     if (i >= fotos.length) i = 0;
  12.     setTimeout(ciclo, 3000 * Math.random()+1000); // un tiempo aleatorio entre 1 y 4 segundos.
  13. }
  14. setTimeout(ciclo, 1500); // La primera la dejamos 1.5 segundos

Última edición por venkman; 22/04/2009 a las 02:17