我正在使用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>
我希望这能有所帮助。编码快乐!