我写的代码效果很好,但是不幸的是它并不是完美的功能。我将简要描述该操作:
当我单击“ .navbar-nav li a”父项和“ .sheets,.sheetsBg”时,将激活活动类。
如果再次单击“ .navbar-nav li a”,则仅对菜单项父类正确删除。

码:

function manageSheetsToggle() {

var navMenuItem = '.navbar-nav li a';

$(navMenuItem).click(function (e) {
    if (!isTabletResolution() && !isPhoneResolution()) {
        {
            var sheetId = $(this).parent().data('target');

            if ($('.sheets, .sheetsBg').hasClass('active')) {
                $('.sheets, .sheetsBg').removeClass('active');
            }
            e.preventDefault();
            $(this).parent().toggleClass('active').siblings().removeClass('active');
            $("#" + sheetId).toggleClass('active').siblings().removeClass('active');
            $(".sheets, .sheetsBg").addClass("active");
        }
    } else {
        $(navMenuItem).click(function (e) {
                e.preventDefault();
                location.href = $(this).attr('href');
            }
        );
    }
});

$('.sheetsBg, .corpoBelt, .header').click(function () {
    $(".sheets, .sheetsBg").removeClass("active");
});
}


请帮助。

最佳答案

我希望这是您要寻找的。我稍微修改了您的代码,但是现在可以正常工作了。试试看,让我知道

   <script type="text/javascript">
        var sheet, ln, cn = 0;
        $(document).ready(function () {
            $("#toggleMenu").find("a").on("click", function (e) {
                ln = $(this);
                sheet = ln.parent().data('target');
                $("#" + sheet).toggleClass("active").siblings().removeClass('active');
                $(".sheets").find("section").each(function () {
                    if ($(this).hasClass("active"))
                        cn++;
                });
                if (cn) {
                    $(".sheets").addClass('active');
                    cn = 0;
                } else
                    $(".sheets").removeClass('active');
            });
            $('.corpoBelt').click(function () {
                $(".sheets").removeClass("active");
            });
        });
    </script>

09-25 19:33