Удалить элементы в произвольном порядке.

Задача довольно простая, есть несколько блоков класса part, их просто нужно удалить в произвольном порядке (через промежутки времени). Как это сделать?
Набросал что-то такое, но пока блоки удаляются одновременно.
(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);
$('div .part').shuffle();
var divsize=$('.part').size();
var clear=setInterval(function() {
	if(divsize==0){clearInterval(clear);}
	$('.part').next().hide(500);
}, 500);
3 ответа

var part=document.getElementsByClassName('part');
(function(){
var e=part[Math.floor(Math.round()*e.length)];
e.parentNode.removeChild(e);
if(part.length)setTimeout(arguments.callee,500)
})()


Консоль ошибок в Firefox пишет e is undefined. Строка 4.


Очевидно, что это опечатка. поменяй e.length на part.length.