Prueba esto:
function reveal_board() {
$("div").each(function(index) {
(function(that, i) {
var t = setTimeout(function() {
$(that).removeClass("invisible");
}, 500 * i);
})(this, index);
});
}
Por lo general es una mala práctica para pasar una cadena a setTimeout()
y también creo que no se puede pasar cualquier variable cuando se utiliza de esa manera.
También lo he envuelto en un cierre para asegurar que that
siempre se aplica al elemento correcto y no se reemplaza.
Aunque, como NiftyDude dice que puede querer pasar el índice y usarlo para mostrar cada elemento uno a uno.
Ejemplo de trabajo - http://jsfiddle.net/Cc5sG/
EDITAR
Parece que no es necesario el cierre:
function reveal_board() {
$("div").each(function(index) {
var that = this;
var t = setTimeout(function() {
$(that).removeClass("invisible");
}, 500 * index);
});
}
http://jsfiddle.net/Cc5sG/1/
¡Funciona, hermoso, gracias! – valen
¡gracias!, Ahorra mis 3 horas luchando :(. – Bhimbim
Sry para la edición, he votado negativamente y tuve que editar para poder volver a votar nuevamente. – Black