修改JS显示/隐藏以根据页面自动显示

时间:2013-05-23 09:21:26

标签: javascript css

我正在使用的网站上有一个Javascript显示/隐藏导航栏,显示一个子导航onclick。但是,当用户在网站的该部分内时,我希望隐藏的子导航能够自动显示。

这是我的JS:

    <script type="text/javascript"><!--
    function HideContent(d) {
    document.getElementById(d).style.display = "none";
    }
    function ShowContent(d) {
    document.getElementById(d).style.display = "block";
    }
    function ReverseDisplay(d) {
    if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
    else { document.getElementById(d).style.display = "none"; }
    }
    //--></script>

这是HTML的一个例子:

    <nav class="sub-nav" id="company-nav" style="display: none;">
        <div class="container">
            <ul>
                <li><a href="#">About</a></li>
                <li><a href="#">History</a></li>
                <li><a href="#">People</a></li>
            </ul>
        <img src="/2013/img/blue-nav-arrow.png" border="0" alt="arrow" />
        </div>
    </nav>

这在主页上运行良好 - 默认情况下隐藏所有子窗口 - 但是,例如,如果用户进入“关于”页面,我希望默认显示company-nav子导航。

我不知道JS或CSS是否会实现这一点而且我有点生疏,所以我会感激任何建议。感谢。

1 个答案:

答案 0 :(得分:0)

您可以做的是,对于正文标记,单个页面具有id,如果id处于活动状态,则通过CSS显示子菜单。

例如(关于页面):

HTML:

<body id='about'>
<nav id"company-nav">
<li><a href="#">About</a></li>
<li><a href="#">History</a></li>
<li><a href="#">People</a></li>
</nav>
</body>

CSS:

#about nav#company-id{
display:block;
}

希望这有帮助。