Javascript jQuery fadeOut()和fadein()定时

Javascript jQuery fadeOut()和fadein()定时,javascript,jquery,jquery-effects,Javascript,Jquery,Jquery Effects,我对jQuery有一个简单的问题,请检查以下内容: 如何在淡出()效果完成后淡出()框?我想您需要两件事: 褪色的应该在同一个位置,这样它们就不会四处移动 您希望淡出可见的,然后淡入另一个 第一种方法是将两个包装在相对定位的中,然后绝对定位内部的位置: <div class="wrapper"> <div id="div_1" data="1" class="box"> test_1 </div> <div id=

我对jQuery有一个简单的问题,请检查以下内容:


如何在淡出()效果完成后淡出()框?

我想您需要两件事:

  • 褪色的
    应该在同一个位置,这样它们就不会四处移动
  • 您希望淡出可见的
    ,然后淡入另一个
  • 第一种方法是将两个
    包装在相对定位的
    中,然后绝对定位内部
    的位置:

    <div class="wrapper">
        <div id="div_1" data="1" class="box">
            test_1
        </div>
        <div id="div_2" data="2" class="box">
            test_2
        </div>
    </div>
    
    第二个问题只是添加到
    淡出
    选择器:

    $(".box:visible").fadeOut(1000, ...
    

    更新的fiddle:

    以下代码可能是您需要的:


    你能澄清一下你的意思吗?现在,淡出先发生,然后淡出。你想扭转这种局面吗?@VincentRamdhanie没有。如果你运行代码,点击“链接2”,你会看到两种效果叠加在一起。我想运行fadeOut()并在完全完成后,在
    $(“.box[data=“+data+”])
    上触发fadeIn()。只有一个信息:为什么我们要用
    位置
    css属性修复div?我的意思是,如果我隐藏第一个div,为什么第二个div与第一个div不在同一个位置。@弗雷德:严格来说,你不需要当前动画的绝对定位,添加
    :visible
    可以在下一个div出现之前获得正确的
    。但是,通过定位,您可以在不更改HTML或CSS的情况下同时淡出和淡入。你不需要它,但它不会伤害你,并给你一点更多的灵活性,你想如何动画的东西。
    $(".box:visible").fadeOut(1000, ...
    
    $(document).ready(function() {
        $("a").click(function() {
            var fin = $(this).attr('fin');
            var fout = $(this).attr('fout');
            $("#div_" + fout).show();
            $("#div_" + fin).hide();
            $(".box[data=" + fout + "]").fadeOut(4000, function() {
                $(".box[data=" + fin + "]").fadeIn(4000);
            });
        });
    });