Pour compléter l'exemple que je donnais, on aurait dans la partie head un bout de JS comme ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| var t = [
function() {
alert("1");
},
function() {
alert("2");
}
];
// FONCTION : simulation de jet de dé
// PARAM #1 : "max" (number) : nombre de "faces"
// RETOUR : entier aléatoire entre 1 et "max"
function de(max) {
if (max < 1) { return 0; };
return Math.round((Math.random() * max) + .5);
};
// FONCTION : prend un élément au hasard dans le tableau courant
// PARAM : si présent et évalué "true", supprime du tableau courant l'élément désigné
// RETOUR : l'élément désigné aléatoirement
Array.prototype.puiser = function(vidage) {
var jet = de(this.length) - 1;
var retour = this[jet];
if (vidage) this.splice(jet, 1);
return retour;
}; |
et l'appel pourrait ressembler à :
<input type="button" onclick="(t.puiser())();" />
Partager