28 lines
No EOL
764 B
JavaScript
28 lines
No EOL
764 B
JavaScript
/*
|
|
* jQuery shuffle
|
|
*
|
|
* Copyright (c) 2008 Ca-Phun Ung <caphun at yelotofu dot com>
|
|
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
|
* and GPL (GPL-LICENSE.txt) licenses.
|
|
*
|
|
* http://yelotofu.com/labs/jquery/snippets/shuffle/
|
|
*
|
|
* Shuffles an array or the children of a element container.
|
|
* This uses the Fisher-Yates shuffle algorithm <http://jsfromhell.com/array/shuffle [v1.0]>
|
|
*/
|
|
|
|
(function($){
|
|
|
|
$.fn.shuffle = function() {
|
|
return this.each(function(){
|
|
var items = $(this).children().clone(true);
|
|
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); |