一、js原生导航条动态增加删除切换
1.增加删除导航
添加实现:
使用js;
在菜单栏各菜单实现点击事件;在该事件中使用id获取导航条节点;获取到该节点后添加子节点实现动态添加子导航效果;
js:
function addbar(){
var nav = document.getElementById("mynav");
nav.innerHTML += '<li><a href="#test">测试</a><button οnclick="delbar(this)">x</button></li>';
};
删除实现:
使用jquery;
在导航条子节点添加点击事件并将该子节点对象作为参数传递,在该点击事件中根据子节点对象获取父节点对象,使用父节点对象删除该子节点。
必须引入jquery.js;除非使用js获取父节点对象进行删除。
js:
function delbar(obj){
$(obj).parent().empty(obj);
}
<!-- 菜单栏 -->
<div id="menu" style="background-color:#FFFFFF;width:150px;float:left;">
<div class="dropdown-content">
<a onclick="addbar()">菜单1</a></br>
<a onclick="addbar()">菜单2</a></br>
<a onclick="addbar()">菜单3</a>
</div>
</div>
<!-- 导航条 -->
<div id="content" style="background-color:#FFFF00;width:1200px;float:left;">
<div>
<ul id="mynav">
<li><a href="#home">主页</a><button onclick="delbar(this)">x</button></li>
<li><a href="#news">新闻</a><button onclick="delbar(this)">x</button></li>
<li><a href="#contact">联系</a><button onclick="delbar(this)">x</button></li>
<li style="float:right"><a class="active" href="#about">关于</a></li>
</ul>
</div>
</div>
css:
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover:not(.active) {
background-color: #111;
}
.active {
background-color: #4CAF50;
}
</style>
js:
<script src="../js/jquery-1.7.2.min.js"></script>
<script>
function addbar(){
var nav = document.getElementById("mynav");
nav.innerHTML += '<li><a href="#test">测试</a><button onclick="delbar(this)">x</button></li>';
};
function delbar(obj){
$(obj).parent().empty(obj);
}
</script>