jQuery:在一个函数完成后运行一个函数

jQuery:在一个函数完成后运行一个函数,jquery,Jquery,我试图使用上面的代码在fadeOut()完成后调用fadeIn()。fadeOut()工作正常。我以前在其他人完成后运行过函数,但这一次它不起作用了,就我的一生而言,我不知道为什么 从CDN运行jQuery最新版本 代码: 更新: 用hide而不是fadeOut进行了尝试,效果很好。不确定为什么淡出不起作用。动画函数的第一个参数是持续时间,回调是第二个: <div id="home-mid" class="column-mid"> <div id="home-fea

我试图使用上面的代码在
fadeOut()
完成后调用
fadeIn()
fadeOut()
工作正常。我以前在其他人完成后运行过函数,但这一次它不起作用了,就我的一生而言,我不知道为什么

从CDN运行jQuery最新版本

代码:


更新:


hide
而不是
fadeOut
进行了尝试,效果很好。不确定为什么淡出不起作用。

动画函数的第一个参数是持续时间,回调是第二个:

<div id="home-mid" class="column-mid">
    <div id="home-featured" class="home-main home-section">
        <!--- Some Code --->
    </div>

    <div id="home-2" class="home-main home-section">
        <!--- Some Code --->
    </div>

    <div id="home-3" class="home-main home-section">
        <!--- Some Code --->
    </div>

    <div id="home-4" class="home-main home-section">
        <!--- Some Code --->
    </div>

    <div id="home-5" class="home-main home-section">
        <!--- Some Code --->
    </div>

    <div id="home-tabs">
        <div id="tab-featured" class="home-tab"></div>
        <div id="tab-2" class="home-tab"></div>
        <div id="tab-3" class="home-tab"></div>
        <div id="tab-4" class="home-tab"></div>
        <div id="tab-5" class="home-tab"></div>
    </div>
</div>
给你

这可能是
fadeOut()
/
fadeIn()
中的一个bug,因为您的主页也是主页部分。试着像这样解决这个问题:

$('.home-section').fadeOut(250, function(){
    $('#home-featured').fadeIn();
});

你需要通过持续时间

$('.home-section').fadeOut(function(){
    setTimeout(function () { $('#home-featured').fadeIn(); }, 50);
});


代码对我来说很好,选择器一定有问题。或者你没有正确地描述这个问题。这是我的想法,但我已经检查了一遍又一遍,选择器都很好。如果我拆分代码,使两个函数同时运行,那么就可以了。它的工作方式是有多个.home部分,其中一个具有ID#home特征,因此它将所有部分设置为隐藏,然后显示所需的部分。正如我所说,它通常是有效的。你在哪个浏览器中遇到问题?我正在opera桌面和mobile safari中进行测试。代码在它们中通常都能正常工作,因为它甚至没有什么特别之处。@CoreyRS使用html和您正在使用的jQuery版本进行更新。第一个参数是可选的。您似乎不理解可选参数的概念。@TigOldBitties:duration是可选的,但具有适当的持续时间,我们可以看到操作,所以它不是问题的真正答案,也不能解决任何问题。@TigOldBitties显然jQuery没有交换参数,如果第一个参数是function类型的。我只是在猜测,但源代码可以检查。正如我所说,问题描述中的代码对我来说很好,一定是浏览器问题或选择器问题。我在发布问题之前尝试了一段时间,但仍然不起作用。@CoreyRS我添加了一个可能的解决方法。试试看它是否管用。你的变通方法不管用。似乎是一个逐渐消失的bug,所以我不得不使用hide。无论如何,谢谢你的帮助。
$('.home-section').fadeOut(function(){
    setTimeout(function () { $('#home-featured').fadeIn(); }, 50);
});
$('#tab-featured').live('tap',function(event) {
    $('.home-section').fadeOut(2000, function(){
        $('#home-featured').fadeIn(200);
    });
});
$('#tab-featured').live('tap',function(event) {
    $('.home-section').fadeOut('slow', function(){
        $('#home-featured').fadeIn('fast');
    });
});