在FadeOut之后淡出

Jon*_*evv 7 jquery

我无法弄清楚为什么我的div在FadeOut结束后不会消失.

继承人我的Html:

<div class="header-container">
    <header class="wrapper clearfix">
        <ul class="nav nav-tabs">
            <li class="active">
                <a href="#tab1">Section 1</a>
            </li>
            <li>
                <a href="#tab2">Section 2</a>
            </li>
        </ul>
    </header>
</div>

<div class="main-container">
    <div class="main wrapper clearfix">

        <div class="tab-content">
                <div class="tab-pane active" id="tab1">
                    <p>I'm in Section 1.</p>
                </div>
                <div class="tab-pane" id="tab2">
                    <p>Howdy, I'm in Section 2.</p>
                </div>
        </div>

    </div> <!-- #main -->
</div> <!-- #main-container -->
Run Code Online (Sandbox Code Playgroud)

我的JS

jQuery(document).ready(function(){
    $('.nav-tabs a').click(function (e) {
      e.preventDefault();
      var href = $(this).attr('href'); // Select first tab
        $('.tab-pane').fadeOut(1000,function(){
            $(href).fadeIn(1000);
        });
    });

});
Run Code Online (Sandbox Code Playgroud)

我的Css

.tab-pane {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

我做了一个jsfiddle:

http://jsfiddle.net/JohnnyDevv/hKq2K/1/

我尽可能简单...提前谢谢

Jai*_*Jai 24

这将输出您期望的结果:

 $('.tab-pane').fadeOut(1000).promise().done(function(){
     $(href).fadeIn(1000);
 });
Run Code Online (Sandbox Code Playgroud)

.promise()确保完成第fadeOut()一个然后完成.done()执行.

DEMO FIDDLE