如何逐个淡出行?

时间:2014-08-15 15:30:29

标签: jquery

我有这个代码并且它可以工作,但我正在尝试添加回调,以便每行逐个淡入淡出。现在,整个桌子正在消失。

function foo() {
    for (var i = 1; i < 5; i++) {
        $(".Table tr").eq(i).fadeIn(3000);
    }
}
$(document).ready(function(){
    foo()
});

2 个答案:

答案 0 :(得分:5)

这应该这样做:

$('.Table tr').slice(0, 5).each(function(i, row) {
    setTimeout(function() {
        $(row).fadeIn(3000);
    }, 3000 * i);
});

它将每次淡入延迟3秒。

答案 1 :(得分:0)

fadeIn函数可以在完成后作为第二个参数运行回调。

这样的东西
var showNextRow = function(){
   var nextInvisibleRow = $('.Table tr').not(':visible').filter(':first');
   if( nextInvisibleRow.length > 0 ){
       nextInvisibleRow.fadeIn(3000, showNextRow); 
   }
}
showNextRow();

Working fiddle

fadeIn docs