Hãy thử điều này:
function reveal_board() {
$("div").each(function(index) {
(function(that, i) {
var t = setTimeout(function() {
$(that).removeClass("invisible");
}, 500 * i);
})(this, index);
});
}
Nó thường là một thói quen xấu để vượt qua một chuỗi để setTimeout()
và tôi cũng không nghĩ rằng bạn có thể vượt qua bất kỳ biến khi sử dụng nó theo cách đó.
Tôi cũng đã đóng nó trong một bao đóng để đảm bảo rằng that
luôn áp dụng cho phần tử phù hợp và không được thay thế.
Mặc dù, như NiftyDude nói bạn có thể muốn chuyển vào chỉ mục và sử dụng nó để hiển thị từng phần tử lần lượt.
dụ làm việc - http://jsfiddle.net/Cc5sG/
EDIT
Hình như bạn không cần đóng cửa:
function reveal_board() {
$("div").each(function(index) {
var that = this;
var t = setTimeout(function() {
$(that).removeClass("invisible");
}, 500 * index);
});
}
http://jsfiddle.net/Cc5sG/1/
Nguồn
2012-05-16 08:20:39
Nó hoạt động, đẹp, cảm ơn bạn! – valen
cảm ơn bạn!, Tiết kiệm 3 giờ của tôi đấu tranh: ( – Bhimbim
Sry cho chỉnh sửa, tôi tình cờ downvoted và đã phải chỉnh sửa để tôi có thể upvote một lần nữa. – Black