Погружаясь в мир случайной сортировки, я испытываю затруднения при объединении некоторых функций, чтобы быть максимально эффективными. Все работает правильно, но у меня такое чувство, что я делаю это новичком , потому что я построил его с помощью двух функций, которые я нашел здесь в Переполнении стека, которые я затем изменил, а затем Франкенштейн вместе.
Мне бы очень хотелось, чтобы вы посоветовали любые способы упорядочения кода для повышения эффективности и устранения избыточности.
Эта функция занимает 10 делений, упорядочивает их в случайном порядке,затем этот случайный порядок исчезает на странице один за другим в дополнительном случайном порядке.Эффект аккуратный, посмотрите здесь: http://jsfiddle.net/danielredwood/MgFj2/
Большое спасибо за вашу помощь!
__ Инициализируйте функцию на странице
$(document).ready(function(){
shuffle();
});
__ Создать массив для затуханияorder
function introfade(x) {
var o = [];
for (var i = 0; i < x; i++) {
var n = Math.floor(Math.random()*x);
if ( $.inArray(n, o) > 0 ) {
--i;
} else {
o.push(n);
}
}
return o;
}
___ Переставьте div и исчезните в
function shuffle() {
var b = $('.box'),
arrange = $('<div>'),
size = b.size(),
fade = introfade(size);
while (size >= 1) {
var rand = Math.floor(Math.random() * size),
temp = b.get(rand);
arrange.append(temp);
b = b.not(temp);
size--;
}
$('.main').html(arrange.html());
$('.box').each(function(i) {
var c = $(this);
setTimeout(function() {
c.fadeTo(500, 1);
}, fade[i]*150);
});
}