JQuery切换类无法正常工作

时间:2014-07-01 21:18:29

标签: jquery slidetoggle

我试图改变我的手风琴上的课程,如果它是开放的,但如果你点击其他一个切换链接就会变得混乱,开放课程根据其他动作切换

Js代码是

$(function () {
    var $subs = $('li.expanded > ul').hide();

    $('li.expanded > a').click(function (e) {
        var $ub = $(this).next().stop(true, true).slideToggle();
        $subs.not($ub).slideUp();

       if ($(this).hasClass('open')) {
           $(this).removeClass('open');
       } else {
        $(this).addClass('open');
            return false;  
       }


         e.preventDefault();
    });



});

和小提琴是

http://jsfiddle.net/r7P43/3/

1 个答案:

答案 0 :(得分:0)

您只能从当前点击的手风琴中删除课程。你需要删除所有。 试试这个:

$('li.expanded > a').click(function (e) {
    var $ub = $(this).next().stop(true, true).slideToggle(400, function(){
        $('li.expanded > a').removeClass('open');
        if($ub.is(':visible')){
           $(this).prev('a').addClass('open');
        }
    });
    $subs.not($ub).slideUp();
    e.preventDefault();
});