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.