I need to randomize a list of 5-n li items and set for 1-5 items a specific place, for example, I have
- a
- b
- c
- d
- e
- f
And I want to randomize the last 4 and put on li[0] letter D and on li[2] letter F Results:
- d
- f
- c
- b
- a
- e
Here is my code. Where I'm wrong? Thanks!
var ul = document.querySelector('ul');
for (var i = ul.children.length; i >= 0; i--) {
if(ul.children.innerHTML == "XXX") {
ul.appendChild(ul.children[0]);
}
if(ul.children.innerHTML == "XXXX") {
ul.appendChild(ul.children[1]);
}
if(ul.children.innerText == "XX") {
ul.appendChild(ul.children[2]);
} else {
ul.appendChild(ul.children[generateRandom(i) | 0]);
}
}
function generateRandom(i) {
var num = Math.random() * i | 0;
return (num === 0 || num === 1 || num === 2) ? generateRandom(i) : num;
}
Aucun commentaire:
Enregistrer un commentaire