Search code examples
javascriptjquerysubmenunav

Add active class on SlideToggle nag


I'm trying to edit this chunk of code to add an "active" class on the element I clicked, and automatically remove it when I click on another item of my nav...

    var firstTime = true;
    $("#nav a").click(function() {
    var divname = this.name;
    $(this).addClass( "active", "fast", "easeOutBounce" );
    if (!firstTime) {
        if ($(".slid").hasClass(divname)) {
            firstTime = true;
            $(".slid").removeClass("slid").slideUp();
        } else {

            $(".slid").removeClass('slid').slideUp(500, function() {
                $("." + divname).slideToggle().addClass("slid");

            });
        }
    } else {
        $("." + divname).slideDown().addClass("slid");
        firstTime = false;
    }

});

Where should I add a .removeClass("active") to make this work...?

Thanks


Solution

  • var firstTime = true;
        $("#nav a").click(function() {
        var divname = this.name;
        $('#nav a.active').removeClass('active');
        $(this).addClass( "active", "fast", "easeOutBounce" );
        if (!firstTime) {
            if ($(".slid").hasClass(divname)) {
                firstTime = true;
                $(".slid").removeClass("slid").slideUp();
                $('#nav a.active').removeClass('active');
            } else {
    
                $(".slid").removeClass('slid').slideUp(500, function() {
                    $("." + divname).slideToggle().addClass("slid");
    
    
                });
            }
        } else {
            $("." + divname).slideDown().addClass("slid");
            firstTime = false;
        }
    
    });