Ver Mensaje Individual
  #10 (permalink)  
Antiguo 07/10/2012, 14:28
jlx4
 
Fecha de Ingreso: noviembre-2011
Mensajes: 108
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: Imagen aleatoria en un inicio

Cita:
Iniciado por furoya Ver Mensaje
jlx4, el código entre etiquetas de código, por favor.

Las respuestas que te dieron hasta ahora están muy bien. Si el escript tal como está (que es tal como te dice emprear) no te sirve porque no inicia con un banner al azar, entonces hay que adaptarlo.

Y la mejor forma sería la propuesta por Sirikon, aunque me queda una duda sobre esa función : en principio,
qué la dispara?.

Deberías poner un ejemplo que podamos probar, así no nos hacés perder el tiempo con mil preguntas que llenan un post inutilmente, y que al final son para ayudarte a vos.

furoya disculpa por las etiquetas de código, no había podido responder con anterioridad, pero, sé que hay que adaptar el script, pero al no ser un gran experto no he logrado dar con la respuesta, de hecho, me he matado pensando en una posible solución, ahora, sé que las respuestas están buenas, la de Sirikon y la de emprear funcionan, pero por sí solas no funcionaban, al combinar ambas si funcionó, se carga una imagen al azar al inicio y después cada 5 segundos, el único problema es que en los navegadores Iexplorer y Firefox se aparece velozmente la imagen por defecto y luego se cambia a una aleatoria, posteriormente continúa normal al cabo de los 5 segundos. En cuanto al disparador la verdad sólo funciona con el setinterval y el valor aleatorio, nada más. El script así como está funciona, la única diferencia sería que el link e imagen aleatorias las tengo dentro de un div.




Cita:
Iniciado por emprear Ver Mensaje
ejecutá la función tambien onload, con lo que la imagen debiera cambiarse.
Edito:
Despiste el mío. Es lo que sugirió @Sirikon +1


Otra cosa a tener en cuenta, si hacés un ramdom y tenés solo 3 imágenes, es probable que veas varias veces la misma antes de que se produzca la rotación.

Te dejo una función para que analices, con lo que se hace el ramdom pero los numeros no se repiten

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. //Método Fisher-Yates
  10. var mezclar = function(n){
  11. for(var j, x, i = n.length; i; j = parseInt(Math.random() * i), x = n[--i], n[i] = n[j], n[j] = x);
  12.  
  13. return n;
  14. }
  15. var sec = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  16. function mostrar(){
  17. var texto = document.getElementById('texto');
  18. var cadena = mezclar(sec).toString();
  19. if(sec.length == 1){
  20. sec = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  21. }
  22. texto.innerHTML = cadena[0];
  23. sec.shift();
  24. }
  25.  
  26. setInterval("mostrar()", 1000);
  27.  
  28. //]]>
  29. </head>
  30. <body onload="mostrar();">
  31. <span id="texto">
  32. </span>
  33. </body>
  34. </html>

Saludos


Gracias por la función, la voy a analizar, como dato, he probado también agregándole más imágenes, actualmente tengo 5 imágenes en el array con sus respectivos enlaces, el procedimiento es el mismo, eso podría decir, gracias nuevamente.
__________________
Jlx4