diff --git a/src/jquery.cycle2.core.js b/src/jquery.cycle2.core.js index ae2e67a..1c926e6 100755 --- a/src/jquery.cycle2.core.js +++ b/src/jquery.cycle2.core.js @@ -84,7 +84,17 @@ $.fn.cycle.API = { slides = slides.jquery ? slides : opts.container.find( slides ); if ( opts.random ) { - slides.sort(function() {return Math.random() - 0.5;}); + slides = (function(a) { // Fisher-Yates shuffle + var i, j, t; + i = a.length; + while (--i > 0) { + j = ~~(Math.random() * (i + 1)); + t = a[j]; + a[j] = a[i]; + a[i] = t; + } + return a; + })(slides); } opts.API.add( slides );