Imagenes aleatorias con enlace | Oloblogger Juan quería abundar en el truco de las imágenes aleatorias , para que estas fueran a su vez enlaces. Lo de poner un enlace a cada imagen (d...

18 de diciembre de 2008


31☆
Imagenes aleatorias con enlace

Juan quería abundar en el truco de las imágenes aleatorias, para que estas fueran a su vez enlaces. Lo de poner un enlace a cada imagen (distinto para cada una de ellas), puede tener diversas utilidades, pero en este caso, creo que va a servir para colocar distintos banners publicitarios ocupando sólo el espacio de uno. Cada vez que la página ser recargue, se mostrará uno de ellos de manera aleatoria. Como cada banner tiene que llevar su propio enlace... pues eso.

El código-tipo es este:

<script type="text/javascript">
enlace = new Array();
enlace[0] = '<a href="URL_ENLACE1"><img src="URL_IMAGEN1"/></a>';
enlace[1] = '<a href="URL_ENLACE2"><img src="URL_IMAGEN2"/></a>';
enlace[2] = '<a href="URL_ENLACE3"><img src="URL_IMAGEN3"/></a>';

aleatorio = Math.random() * (enlace.length);
aleatorio = Math.floor(aleatorio);
document.write(enlace[aleatorio]);
</script>

Para cada imagen/enlace adicional, habría que añadir un nuevo elemento al array, con la misma estructura que los que aquí se muestran. Importante seguir la secuencia de ordinales (0, 1, 2,...).

Dentro de A o de IMG, podeis incluir también CSS mediante una etiqueta STYLE y sus correspondientes atributos.

Seguro que hay otra forma más eficiente de hacer lo mismo, pero mis conocimientos de Javascript no dan para más. Mientras a alguien se le ocurre algo mejor, podeis utilizar este hack que seguro que funciona.

¿Vemos otro post al azar por si le encuentras utilidad?

Otras entradas que te podrían interesar:


31 comentarios:

  1. ¡Eres un crack! Ahora si que si. ¡Ole! Gracias tío.

    ResponderSuprimir
  2. Amigo te sigo desde hace tiempo y estas enlazado en mi blgo y por ello paso a desearte un feliz fin de semana..

    Gracias por todas la ayuda que nos dan.. un abrazo

    ResponderSuprimir
  3. Feliz fin de semana, Balovega y ¡Feliz Navidad! a tí y a todos los lectores, visitantes accidentales, simpatizantes, etc.

    ResponderSuprimir
  4. Gracias amigo por las respuestas.
    Ahora si lo que lo haré en el mi blog
    lo usaré, de estoy seguro

    gracias

    feliz navidad y feliz año!!!

    ResponderSuprimir
  5. Hola... q tal todo? Un favor, es que deseo que varias imágenes carguen al mismo tiempo pero en orden diferente cada vez que se entre en la página. La intención de esto, es que no haya preferencia en las fotos.

    Gracias,

    ResponderSuprimir
  6. Supongo que lo que quieres es mostrar siempre un número determinado de imágenes, pero que cada vez que cargue la página, salgan en un orden distinto.

    Lo que se explica aquí es para que cada vez que entremos en la página, salga una distinta, pero sólo una.

    Dependiendo de lo que quieras exactamente, puedes conseguir algo parecido repitiendo las tres últimas líneas del código...

    aleatorio = Math.random() * (enlace.length)
    aleatorio = Math.floor(aleatorio)
    document.write(enlace[aleatorio])

    ...tantas veces como imágenes quieres mostrar. Lo que ocurre es que, como realmente es al azar, lo más probable es que repita alguna, una o más veces en detrimento de otras imágenes.

    Le daré una vueltecita a la idea que creo que se puede solucionar.

    ResponderSuprimir
  7. COMO HAGO PARA PONER EL COSO ESE "SUSCRIBIR TEMAAS" Y TODAS ESAS PALABRITAS KE GIRAN AL ARRIBA?
    Y DONDE PONDRIA LOS CODIGOS KE PASAS?
    POR FAAVOR RESPONE
    MANDAME UN E-MAIL A MI MSN

    mordiscoo.-@hotmail.com

    ResponderSuprimir
  8. Mikiithaa, las instrucciones para el "coso" que gira las tienes en la siguiente dirección:

    http://oloblogger.blogspot.com/2008/09/nube-de-etiquetas-3d-blogumus.html

    ResponderSuprimir
  9. Perdon Oloman por hacerte la otra pregunta anterior con este pos que no lo había visto, me lo respondiste. Gracias por tu ayuda !!

    ResponderSuprimir
  10. Je, je... ¡y yo te acabo de contestar en el otro porque este lo he visto después!

    ResponderSuprimir
  11. Hola de vuelta, yo. Cada ves que entro ha este blog, me encuentro con cosas interesantes.

    Esta te iva a preguntar ¿como puedo hacer para que salgo de forma aleatoria videos, como de You Tube?

    Bueno se podrá? , creo que todo, deseo saber si sabes.

    Desde ya muchas graicas !!

    ResponderSuprimir
  12. Hola CCS. La mecánica es la misma que para otros sistemas de mostrar un elemento aleatorio y que ya en distintos post hemos publicado. No obstante, hemos hecho un post específico hoy para explicarlo de nuevo.

    ResponderSuprimir
  13. Hola Oloman. Justo tengo la misma duda del anónimo del comentario numero 6. Sabes ya, ¿Cómo hacerlo en ese caso?

    Espero tu respuesta :=)

    Un abrazo y éxitos

    ResponderSuprimir
  14. Hola KI. Hoy por hoy, todavía no me he puesto en serio a buscar una solución buena. La fácil es repetir las tres últimas líneas tantas veces como imágenes quieras que salgan. El problema es que existe la posibilidad por la aleatoriedad total del sistema, de que te muestre imágenes repetidas. A menor número de imágenes en la matriz, mayor posibilidad de repetición. Si en tu caso eso no es importante o quieres poner muchas imágenes, de momento puede que te valga este sistema.

    Si quieres mostrar dos o tres cada vez, otra chapucilla sería incluir en cada elemento de la matriz esas dos o tres imágenes en lugar de una.

    ResponderSuprimir
  15. Gracias por la ayuda.

    ResponderSuprimir
  16. Amigo, muy buena la entradas, me ha servido muchisimo, de verdad, MUCHAS GRACIAS.

    Bendiciones!.

    ResponderSuprimir
  17. fabuloso funciona perfecto gracias..

    solo una pregunta como hago para mostrar 10 imagenes aleatorias a la vez de una carpeta de 100?

    ResponderSuprimir
  18. Para 100 te va a resultar muy laborioso, pero lo tienes explicado en esta otra entrada. Saludos.

    ResponderSuprimir
  19. Te cuento que soy de los pocos que se animan a opinar en tu blog, pero debo agradecerte por tus enseñanzas y compartir con la gente tus conocimientos. Gracias por hacer de mi blog un sitio mas interesante. Como decimos en Colombia "Eres un berraco". Mil gracias Oloman

    ResponderSuprimir
  20. Vale. Me quedaré con la versión colombiana de la expresión, porque la española no es muy buena que digamos :D
    Saludos

    ResponderSuprimir
  21. Bueno oloman te cuento que era yo el del anterior comentario, solo que no pude registrarme con mi nombre no se porque. En todo caso muchisimas gracias y tienes razon en cuanto a lo de las expresiones por paises, entonces a la version colombiana eres un Berraco. Mil gracias de nuevo por compartir tu conocimiento con quienes no somos muy expertos como yo.

    ResponderSuprimir
  22. No hay de qué. Para mí es un hobby. ;)

    ResponderSuprimir
  23. Muchas gracias, muy bueno este truco :D:D:D

    ResponderSuprimir
  24. Estoy actualizando la web y lo hago mientras en un blog de pruebas: http://malagarec.blogspot.com/

    El caso es que este script funciona a la perfección si lo coloco en un widget en el sidebar. En el momento que entro en la plantilla e intento colocarlo en el lugar que actualmente ocupa la imagen de 250x90 (esquina superior derecha) no aparece nada, se queda en blanco. He probado introduciendo el atributo "position" pero no hay manera.

    ¿donde podría estar el fallo?

    ResponderSuprimir
  25. Gracias! estaba buscando la respuesta! GRACIAS POR ILUMINARME!

    ResponderSuprimir
  26. Tuniti, el que no te funcione en la plantilla es cosa de Blogger, que es muy delicao y no interpreta las comillas dobles cuando se teclean en esa parte.

    Prueba el mismo código pero cambiando las comillas simples (') por &#39; y las comillas dobles(") por comillas simples (').

    ResponderSuprimir
  27. Acabo de probarlo y sigue apareciendo en blanco. Gracias de todas formas.

    ResponderSuprimir
  28. Un verdadero Crak, sí señor. Pero, ¿puedes rizar el rizo?

    ¿Cómo haríamos para que el enlace sea en una ventana aparte? (igual que en html está target="_blank" ¿como sería en javascript?)

    Si me solucionas eso serás mi HEEEEEROE.

    Saludos.

    ResponderSuprimir
  29. Jesús iPhone, si no lo has solucionado a estas alturas, ya puedes estar buscándome una medalla. Lo que va dentro de cada elemento de la matriz enlace[x] es HTML puro, por lo que sólo tendrías que añadir el _blank a cada uno de los enlaces que figuran alli. Ejemplo:

    enlace[0] = '<a target="_blank" href="URL_ENLACE1"><img src="URL_IMAGEN1"/></a>';

    ResponderSuprimir