Loading

segunda-feira, 10 de outubro de 2011

jQuery Array/DOM Shuffle

Deixo-vos aqui um compacto plug-in de jQuery para shuffle de arrays ou de elementos DOM.
(function($){
 $.fn.shuffle = function() {
  return this.each(function(){
   var items = $(this).children();
   return (items.length)
    ? $(this).html($.shuffle(items))
    : this;
  });
 }


 $.shuffle = function(arr) {
  for(
   var j, x, i = arr.length; i;
   j = parseInt(Math.random() * i),
   x = arr[--i], arr[i] = arr[j], arr[j] = x
  );
  return arr;
 }
})(jQuery);
Exemplo 1 - shuffle de uma lista não ordenada:
$('ul').shuffle();
Exemplo 2 - shuffle de um array:
var arr = [1,2,3,4,5,6];
arr = $.shuffle(arr);

Sem comentários: