如何在使用BootStrap3导航栏项目时在HTML中显示div内容



我正在使用BootStrap 3 CSS样式,并创建了以下内容:

<div class="navbar-header">
    <button type="button" class="navbar navbar-default" role="navigation">
        <span class="sr-only">Toggle navigation></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button> 
    <a class="navbar-brand" href="#home">Home</a>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-1">
                <ul class="nav navbar-nav">
                       <li><a href="#mywork" onclick="return show_div('mywork');">My Work</a></li>
                       <li><a href="#myprofile">Profile</a></li>
                       <li class="dropdown">
                           <a href="#other" data-toggle="dropdown" class="dropdown-toggle">Other actions <b class="caret"></b></a>
                           <ul class="dropdown-menu">
                               <li><a href="#contactme">Contact Me</a></li>
                           </ul>
                       </li>
                </ul>
                    <ul class="nav navbar-nav navbar-right">
                        <li class="dropdown">
                                <a href="#actions" data-toggle="dropdown" class="dropdown-toggle">Actions <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#updateprofile">Update profile</a></li>
                                    <li><a href="#logout">Logout</a></li>
                                </ul>
                        </li>
                </ul>
        </div>
</div>
<div id="home" style="display: none;">
    Test Data
</div>

从这个开始,我试图在底部显示div,我给了它id"home",它对应于导航栏上给出的#home href。

我遇到的问题是,当单击导航栏的home元素时,我无法显示id为home的div,我是做错了什么,还是有人能给我指正确的方向?我花了很多时间试图解决这个问题,但做不到。

编辑:

JavaScript show_div函数:

<script>
    //Functon to show divs from the nav menu
    function show_div(toShow)
    {
        var show = document.getElementById(toShow);
        show.style.display = "";
    }
</script>

为什么不想这样使用jQuery:

<a id="sh" style="cursor:pointer">Show Home</a>
<div id="home" style="display: none;">Test Data</div>
<script type="textjavascript">
$(document).ready(function () {
    $("#sh").click(function () {
        $("#home").toggle();
    });
});
</script>

您的锚点onclick事件发送了错误的id

<li><a href="#mywork" onclick="return show_div('mywork');">My Work</a></li>

它应该发送home以针对带有测试数据的div标签:

<div id="home" style="display: none;">
    Test Data
</div>

将onclick更改为:

<li><a href="#mywork" onclick="show_div('home');">My Work</a></li>

我希望这能有所帮助。编码快乐!

最新更新