鼠标点击切换样式

鼠标的切换问题,适用于导航栏<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  那就切换样式

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章