Implementação de jQuery shift ()

Geralmente gosto de iterar em uma coleção jQuery da mesma maneira que itero em uma matriz normal com o método shift () nativo, mas você não pode chamar shift () em uma coleção jQuery. Você teria que empurrar () cada elemento em um novo array, o que é uma droga.

Felizmente, você pode implementar facilmente seu próprio equivalente em shift ():

$.fn.shift = function () {
var x = this.eq(0);
this.splice(0,1);
return x;
}

Portanto, se você quiser esmaecer os elementos de um objeto jQuery, um de cada vez, poderá usar shift () para manipular o objeto original:

var obj = $('.items');

(function walk(o) {
$
(o).fadeOut(500, function () {
if (obj.length) {
walk
(obj.shift()); //<<< here's our baby!
}
});
}(obj.shift()));