首先在body裏面建立一個表格,並設置好格式,給他一個合適的大小, 以下:bash
li{
width: 500px;
height: 50px ;
margin: 5px;
}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
複製代碼
var olis = document.querySelectorAll('li')
複製代碼
經過索引直接給每一行設置不一樣顏色學習
olis[0].style.background = 'blue'
olis[1].style.background = 'red'
olis[2].style.background = 'blue'
olis[3].style.background = 'red'
olis[4].style.background = 'blue'
olis[5].style.background = 'red'
olis[6].style.background = 'blue'
複製代碼
可是,這樣的方法若是要對更多的對象進行操做時,費時費力。this
經過for循環去實現spa
for (var i = 0; i < 7; i++) {
console.log(i % 2)
if (i % 2 == 0) {
olis[i].style.background = 'blue'
} else {
olis[i].style.background = 'red'
}
複製代碼
i%2==0 說明索引是 0 2 4 6,反之則是單數,而後再給他們分別設置對應的顏色,隔行變色獲得實現。設計
三元表達式寫法以下:code
olis[i].style.background = i%2==0 ? 'blue' : 'red';
若 i%2爲0時 那就是個flase 這是 三元表達式的返回值 就是冒號後面的結果
若 i%2爲1時 那就是個true 這是 三元表達式的返回值 就是問號後面的結果
把三元的返回值 賦給前面的背景顏色
複製代碼
首先咱們須要把如今的顏色儲存起來,當鼠標移入時當前停留的元素變色,鼠標移除顏色恢復存儲時的效果。對象
olis[i].myBg =olis[i].style.background;
// 存儲如今顏色
olis[i].onmouseenter = function(){
//鼠標進入
//this 爲當前操做的那個元素
this.style.background = 'gold'
}
olis[i].onmouseleave = function(){
//鼠標離開顏色恢復存儲時的myBg
this.style.background = this.myBg
}
複製代碼
要想出現當鼠標點擊時,彈出彈框的效果,這時就須要咱們添加一個鼠標事件,具體以下:索引
olis[i].onclick = function(){
alert(`這是第${this.myindex+1}行 背景色是${this.myBg}`)
}
複製代碼
這樣一個完整的隔行變色事件便實現了,以上就是本文的所有內容,但願對你們的學習有所幫助。事件