11498 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai découvert il y a peu un script très utile pour moi. Il s'agit de donner une classe à un élément précis au hasard. Mon problème est que pour donner une classe à plusieurs éléments, je procède comme ceci :


$(document).ready(function() {
    var paras = $('.bloc');
    var rand = Math.floor(Math.random() * paras.length);
    paras.eq(rand).addClass('grand');	
});
$(document).ready(function() {
    var paras = $('.bloc');
    var rand = Math.floor(Math.random() * paras.length);
    paras.eq(rand).addClass('grand');	
});
$(document).ready(function() {
    var paras = $('.bloc');
    var rand = Math.floor(Math.random() * paras.length);
    paras.eq(rand).addClass('grand');	
});

etc...


J'aimerais bien trouvé le moyen d'écrire cela en une seule fois au lieu de répéter plusieurs fois. Auriez-vous une solution ?

Merci !
Est-ce bien çà ?


$(document).ready(function() {
    var randomElements = $(".bloc").get().sort(function() {
        return Math.round(Math.random()) - 0.5;
    }).slice(0, 5);
    $(randomElements).addClass('grand');
});