如果部分有类隐藏导航,当类不再存在时显示导航

时间:2014-07-17 14:19:10

标签: jquery css

我的网站上有很多部分,在某些部分,导航应该隐藏,但不是在所有部分。

我有这段代码:

if (!$('section').hasClass("active")) {
    $('nav').addClass('visible');
} else {
    $('nav').removeClass('visible');
}

我已经尝试了这个但是没有用:

if (!$('section').hasClass("active")) {
    $('nav').show();
} else {
    $('nav').hide();
}

当视口在该部分上时,获取活动类的部分可用。

HTML pastebin:http://pastebin.com/CrEpvDEZ
SCSS pastebin:http://pastebin.com/db3txwRX

实时版:http://staging.madebysteven.nl/

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,您希望在某个部分具有活动类时隐藏导航:

这适用于粘贴HTML和CSS:

$(function () {
    // set visible equal to whether or not a section with the active class exists
    function toggleNav() {
        $('nav').toggle($('section.active.begin').length + $('section.active.about').length == 0);
    }


    // when a section is changed...
    $('section').on('change', function() {
        // re-run the toggle function to determine whether or not to show the nav
        toggleNav();
    });

    // set initial visibility state
    toggleNav();
});