为Burger菜单创建菜单

问题描述 投票:-3回答:1

仍然在汉堡菜单上工作。只是想知道是否有人能看出为什么这个功能不起作用?第一个位有效,但是当涉及添加更多类时,它没有。

jQuery(document).ready(function ($) {



let $navToggle = $("#navToggle"),
   $navContainer = $('#burgerNavContent'),
   $navMenu = $(".menu-burgernav-container");

/**
 * Open Nav if(!hasClass['active'])
 * else close Nav
 */

function toggleNav() {
    if (!$navToggle.hasClass('active')) {
        $navToggle.addClass('active');
        $navContainer.addClass('burgerMenuActive');
        $navMenu.addClass('burgerMenuLinkActive');
    } else {
        $navToggle.removeClass('active');
        $navMenu.removeClass('burgerMenuLinkActive');
        $navContainer.removeClass('burgerMenuActive');
        return false;
    }
    toggleNav();
}


    $navToggle.click(function () {
        toggleNav();
        return false;
    });

});

我试过添加一个片段,但它不让我。基本上$ navToggle上的addClass有效,但它不想听$ navContainer或$ navMenu

jquery html css
1个回答
1
投票

它会添加活动类并退出IF条件并再次运行

toggleNav()

检查现在有效的$ navToggle类,以便将其删除

function toggleNav() {
if (!$navToggle.hasClass('active')) {
    $navToggle.addClass('active');
    $navContainer.addClass('burgerMenuActive');
    $navMenu.addClass('burgerMenuLinkActive');
    return true;
} else {
    $navToggle.removeClass('active');
    $navMenu.removeClass('burgerMenuLinkActive');
    $navContainer.removeClass('burgerMenuActive');
    return false;
}
toggleNav(); // either remove this , idk why you are calling it
}
© www.soinside.com 2019 - 2024. All rights reserved.