javascript - 一个接一个地淡入元素

标签 javascript jquery

这是我的代码,它可以工作,但我想使用循环来清理代码。而不是有那么多行代码。我尝试用 [i] 替换 [0],但它只会使所有内容一起淡入。

JSFIDDLE

var $icons = $('#header li').hide();

for(var i = 0; i < $icons.length; i++) {
    $($icons[0]).fadeIn(function() {
        $($icons[1]).fadeIn(function() {
            $($icons[2]).fadeIn(function() {
                $($icons[3]).fadeIn(function() {
                    $($icons[4]).fadeIn(function() {
                        $($icons[5]).fadeIn(function() {
                            $($icons[6]).fadeIn(function() {
                                $($icons[7]).fadeIn(function() {
                                    $($icons[8]).fadeIn(function() {
                                        $($icons[9]).fadeIn(function() {

                                        });
                                    });
                                });
                            }); 
                        });
                    });
                });
            }); 
        });
    });
}

最佳答案

您可以使用递归:

function FadeMe($array, index) {
    if (index >= $array.length) return;

    $array.eq(index).fadeIn(function() {
        if (index + 1 < $array.length) {
            FadeMe($array, index + 1);
        }
    });
}

var $icons = $('#header li').hide();
FadeMe($icons, 0);

fiddle :http://jsfiddle.net/0v3L0g6t/

关于javascript - 一个接一个地淡入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511143/

相关文章:

javascript - 选择照片上的区域

javascript - 当我在分派(dispatch)后更新 vue 组件中的状态时,防止状态更新

javascript - 未捕获的类型错误 : Cannot read property 'scrollHeight' of null

javascript - 如何为每个查询结果添加复选框?

javascript - 如何在 Javascript 中有效删除二维数组中的空列

jquery - 使用更新在remoteFunction之后调整其他选择的值

基于html5数据属性的jquery显示和隐藏

javascript - jQuery:当通知可见时自动隐藏通知

jquery 隐藏和显示打印

javascript - $.test = function() 与 var test = function()