Enlaces al azar
En este script se usa una lista de enlaces para escoger uno al azar y mostrarlo en la página web.
Es útil se quieres cambiar enlaces a páginas diferentes cada vez que se acrgue la página.Solución
<script>
function linkAzar(lnk){
var enlaces = new Array(), ind;
var cuadro;
var total = 4, cadena
for (ind=0; ind<total; ind++)
enlaces[ind] = new Array()
enlaces[0][0] = "https://misitio/pagina1.htm"
enlaces[0][1] = "Pulsa para la página 1"
enlaces[1][0] = "https://misitio/pagina2.htm"
enlaces[1][1] = "Pulsa para la página 2"
enlaces[2][0] = "https://misitio/pagina3.htm"
enlaces[2][1] = "Pulsa para la página 3"
enlaces[3][0] = "https://misitio/pagina4.htm"
enlaces[3][1] = "Pulsa para la página 4"
ind = Math.round(Math.random()*3)
cuadro = document.getElementById(lnk)
cuadro.innerText = enlaces[ind][1];
cuadro.setAttribute('href', enlaces[ind][0]);
}
</script>
<body onload="linkAzar('enlace')">
<a href="#" id="enlace">Enlace</a>
</body>
Explicación
La función linkAzar() pone un enlace al azar en la página web cuando se carga.
La función crea un array de dos dimensiones: cada elemento es una lista de dos elementos:
- la primera es el enlace en sí (la dirección URL) y
- la segunda es el texto que debe aparecer en el enlace.
Luego la función elige al azar un elemento de esa lista: Math.random()*3 dará como resultado un número al azar entre 0 y 3.
El método Math.round() se usa para redondear a un entero el índice obtenido.
Por último se anota el texto y el src en el elemento de la web que hemos seleccionado para anotar el array. Fácil ¿verdad?
Como lo uso
En la página web crea el elemento enlace (<a href>) con un identificador, atributo id.
Al cargar la página (onload) se llama a la función que se encarga de colocar el url y el texto del enlace. La función se llama con el valor del id del enlace como argumento.
No es imprescindible que se l<lma desde un evento load, puedes hacerlo de cualquier otra forma como mediante un click en un botón o tras la carga de una imagen...