鼠標的切換問題,適用於導航欄<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 那就切換樣式