jQuery: riorganizzazione casuale degli elementi discendenti di un dato elemento

La riorganizzazione casuale degli elementi discendenti di un dato elemento può essere gestita in modo casuale (o pseudo-casuale) da jQuery utilizzando il metodo sort() in combinazione con il metodo random() dell'oggetto Math. Vediamo come fare.

Possiamo creare il seguente plugin:


(function($) {
    
    $.fn.shuffleChildren = function() {
            $.each(this.get(), function(index, el) {
                var $el = $(el);
                var $find = $el.children();
        
                $find.sort(function() {
                    return 0.5 - Math.random();
                });
        
                $el.empty();
                $find.appendTo($el);
            });
    };
    
})(jQuery);

Il plugin opera sugli elementi discendenti dell'elemento selezionato e ne riorganizza l'ordine in modo casuale. Esempio:


$(function() {
    
    $('#shuffle').click(function() {
            
           
            $('#test').shuffleChildren();
        
    });
    
});

Potete visionare l'esempio finale in questa pagina.

Torna su