相当基本的JQuery动画排队,虽然不起作用

时间:2011-02-11 13:53:23

标签: jquery animation jquery-animate queueing

所以,我有一个伟大的(?)想法来构建我自己的标签系统,因为我试过的所有脚本都没有像我希望的那样工作。

我有一个包含链接的列表,以及一些隐藏起来的div。单击LI,任何可见的div隐藏,然后选定的链接/ div淡入。

HTML

<ul>
<li id="tab1">Link</li>
<li id="tab2">Link</li>
<li id="tab3">Link</li>
</ul>

<div id="tab1div">Content</div>
<div id="tab2div">Content</div>
<div id="tab3div">Content</div>

JS

$('li').click(function(){

    $('div:visible').fadeOut(1000)
    .queue(function () {
        var id = $(this).attr('id');
        $('div#' + id + "div").fadeIn('slow');
        $(this).dequeue();
    });
});

现在,问题在于动画(除了脚本不起作用)。我的目标是为任何可见的DIV设置fadeOut('fast'),然后为所选的li / div设置fadeIn('slow')。排队,就是这样。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

jQuery fadeOut可以有两个参数,第二个是动画完成后调用的函数,所以这可能是你想要的:

$('li').click(function(){
    var id = $(this).attr('id');
    $('div:visible').fadeOut(1000, function () {
        $('#' + id + "div").fadeIn('slow');
    });
});