在jquery幻灯片处于up位置后如何删除此类?

J82*_*J82 6 jquery slide

我目前为jQuery幻灯片设置了以下代码.

$(document).ready(function () {
    $('a#slide-up').click(function () {
        $('.slide-container').slideUp();
        return false;
    });
    $('a#slide-toggle').click(function () {
        if ($('.slide-container').is(':visible')) {
            $('.slide-container').slideUp();
            $(this).removeClass('active');
        } else {
            $('.slide-container').slideDown();
            $(this).addClass('active');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

和HTML:

<a id="slide-toggle"></a>

<div class="slide-container">
     <a id="slide-up"></a>
     >>content<<
</div>
Run Code Online (Sandbox Code Playgroud)

当我点击#滑动切换,类"主动"被应用到它,并div.slide容器滑落揭示的内容和另一个链接到容器滑动备份(即#滑).当我单击#slide-up时,容器会向上滑动,但#slide-toggle仍然处于"活动状态",并且应用了该类.

我想要它,这样当我点击#slide-up时,'active'类就被删除了.我怎样才能做到这一点?

-编辑-

$(document).ready(function() {
    $('a#slide-up').click(function () {
        $('.slide-container').slideUp(function(){
            $('#slide-toggle').removeClass('active');
        });
        return false;
    });

    $('a#slide-toggle').click(function() {
        if ($('.slide-container').is(':visible')) {
            $('.slide-container').slideUp(function() {
            $(this).removeClass('active');
            }
        })
        else {
            $('.slide-container').slideDown();
            $(this).addClass('active');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

use*_*716 5

只需删除#slide-up按钮处理程序中的类:

$('a#slide-up').click(function () {
    $('.slide-container').slideUp();
    $('#slide-toggle').removeClass('active');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

或者如果您希望它等到动画完成,请在回调中执行:

$('a#slide-up').click(function () {
    $('.slide-container').slideUp(function(){
        $('#slide-toggle').removeClass('active');
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

关于你的评论:

$('a#slide-toggle').click(function() {
       // keep a reference to the slide-toggle element
    var slideToggle = this;
    if ($('.slide-container').is(':visible')) {
        $('.slide-container').slideUp(function() {
            $(slideToggle).removeClass('active'); // remove class from slide-toggle
        }); // <-- moved the closing ) to here
    }       // <-- instead of here
    else {
        $('.slide-container').slideDown();
        $(slideToggle).addClass('active'); // add class to slide-toggle
    }
});
Run Code Online (Sandbox Code Playgroud)