Con el siguiente script obtengo una imagen aleatoria de entre las que indico en el ImageArray:
Código:
Lo que me gustaría es aumentar o disminuir la probabilidad de que salga cada imagen. Una forma es añadir más líneas de imagen iguales, de manera que si está 10 veces la imagen 2 y una vez la imagen 1 en el ImageArray, hay más posibilidades de que el random vaya a la imagen 2. El inconveniente es que tengo que copiar y pegar cantidad de veces y me pregunto si hay alguna manera más rápida de conseguirlo, por ejemplo añadiendo alguna variable extra en cada línea o alguna forma diferente.<script type="text/javascript"> <!-- var imlocation = ""; var currentdate = 0; var image_number = 0; function ImageArray (n) { this.length = n; for (var i =1; i <= n; i++) { this[i] = ' ' } } image = new ImageArray(3) image[0] = 'image1.gif' image[1] = 'image2.gif' image[2] = 'image3.gif' var rand = 60/image.length function randomimage() { currentdate = new Date() image_number = currentdate.getSeconds() image_number = Math.floor(image_number/rand) return(image[image_number]) } document.write("<img src='" + imlocation + randomimage()+ "'>"); //--> </script>
Una segunda cuestión relacionada es, si hay forma de que cuando cierta imagen haya salido en el random se elimine del código, es decir, ya no esté entre las opciones.
Gracias