これを試して:
function reveal_board() {
$("div").each(function(index) {
(function(that, i) {
var t = setTimeout(function() {
$(that).removeClass("invisible");
}, 500 * i);
})(this, index);
});
}
一般に、文字列を渡すのは悪い習慣setTimeout()
です。また、そのように使用する場合、変数を渡すことはできないと思います。
that
また、常に適切な要素に適用され、置き換えられないようにするために、クロージャーでラップしました。
ただし、NiftyDude が言うように、インデックスを渡し、それを使用して各要素を順番に表示したい場合があります。
実例 - http://jsfiddle.net/Cc5sG/
編集
閉鎖は必要ないようです:
function reveal_board() {
$("div").each(function(index) {
var that = this;
var t = setTimeout(function() {
$(that).removeClass("invisible");
}, 500 * index);
});
}
http://jsfiddle.net/Cc5sG/1/