创建一个循环逐渐淡出每篇文章的循环。 jQuery的

时间:2011-07-14 00:58:07

标签: javascript jquery

所以我的想法是将每个图像从底部淡出..显然,它必须向后遍历数组。但是,我现在似乎无法弄明白。想法是它会在运行fadeOut()函数后暂停,我认为设置超时会起作用,但是firebug给了我这个错误: 无用的setTimeout调用(参数周围缺少引号?)

第262行。 我甚至不使用$ .each循环并使用for(i = 0循环

<script type="text/javascript">
    //Bottom Nav functions
    $(document).ready(function(){

        $('#bottomNav a:eq(0)').click(function(){

        var arti = $('#aHolder article');
        var amt = arti.length;
        var i = 0;

            for (i=0;i<amt;i++){

            $('#aHolder article:eq('+i+')').fadeOut();
            setTimeout(300);

            }


        });

    });


</script>

1 个答案:

答案 0 :(得分:4)

这样的事情应该做:

var i = $('#aHolder article').length,
interval = setInterval(function () {
    if (i-- <= 0) {
        clearInterval(interval);
        return;
    }
    $('#aHolder article:eq(' + i + ')').fadeOut();
}, 300);

循环中的延迟执行最好使用interval。一旦达到终止条件,就可以清除它。