Skip to content

Instantly share code, notes, and snippets.

@zillou
Created June 6, 2013 06:32
Show Gist options
  • Select an option

  • Save zillou/5719712 to your computer and use it in GitHub Desktop.

Select an option

Save zillou/5719712 to your computer and use it in GitHub Desktop.
A jQuery plugin shuffle DOM elements
(function($) {
$.fn.shuffle = function() {
var allElems = this.get(),
getRandom = function(max) {
return Math.floor(Math.random() * max);
},
shuffled = $.map(allElems, function() {
var random = getRandom(allElems.length),
randEl = $(allElems[random]).clone(true)[0];
allElems.splice(random, 1);
return randEl;
});
this.each(function(i) {
$(this).replaceWith($(shuffled[i]));
});
return $(shuffled);
};
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment