鼠标的切换问题,适用于导航栏<nav></nav>
就是一个页面的一小部分的切换,没必要去通过判断URL去刷新页面。
可以采用jq和js的方式去切换
第一种方法 jQuery
<div class="wrapper wrapper02" id="wrapper02">
<div class="scroller">
<ul class="clearfix">
<li><a href="#">导航一</a></li>
<li><a href="#">导航二</a></li>
<li><a href="#">导航三</a></li>
<li><a href="#">导航四</a></li>
</ul>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$("li").click(function(){
$(this).toggleClass("cur");
$(this).siblings().removeClass("cur");
})
</script>
toggleClass:
$(selector).toggleClass(class,switch)
toggleClass() 对设置或移除被选元素的一个或多个类进行切换。
该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。
第二种方法 JavaScript
<div id="main">
<!--四个按钮-->
<div>
<div><button id = "1" type = "button" class = "btn2">导航一</button></div>
<div><button id = "2" type = "button" class = "btn1">导航二</button></div>
<div><button id = "3" type = "button" class = "btn1"> 导航三</button></div>
<div><button id = "4" type ="button" class = "btn1"> 导航四</button></div>
</div>
</div>
<style>
#main{
width: 200px;
margin:0 auto;
}
.btn1{
border:none;
height:3.5em;
background-color:black;
color:white;
font-size:1.2em;
margin-top:0.5em;
width:100%;
border-radius:1em;
}
.btn2{
border:none;
height:3.5em;
background-color:red;
color:white;
font-size:1.2em;
margin-top:0.5em;
width:100%;
border-radius:1em;
}
</style>
<script type="text/javascript">
//左边按钮的点击事件
window.onload = function(){
var arr = document.getElementsByTagName('button');
for(var i = 0;i<arr.length;i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn1'){
this.className = 'btn2';
var id = this.id;
var btn2 = document.getElementsByClassName('btn2');
for(var j=0;j<btn2.length;j++){
if(btn2[j].id!=id){
btn2[j].className = 'btn1';
}
}
}
}
}
}
</script>
这里的逻辑是,先判断当前页面的样式,如果是btn1,那就切换btn2。然后获取当前button的id号,如果选中的id号与当前button的id一致,也就是说当前是btn2的样式,如果符合这个
btn2[j].id!=id 那就切换样式