更新時(shí)間:2021年11月03日16時(shí)04分 來(lái)源:傳智教育 瀏覽次數(shù):
現(xiàn)在有個(gè)傳智教育HTML&JS+前端開(kāi)發(fā)課程的開(kāi)班表格,我們需要通過(guò)JS實(shí)現(xiàn)鼠標(biāo)懸浮表格對(duì)應(yīng)行變色的效果。
下面通過(guò)代碼實(shí)現(xiàn):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>通過(guò)JS使表格懸浮變色|web前端高手班 http://web.itheima.com</title> <style> table { border-collapse: collapse; border-spacing: 0; border: 1px solid #c0c0c0; width: 500px; } th, td { border: 1px solid #d0d0d0; color: #404060; padding: 10px; text-align: center; } </style> </head> <body> <table> <thead> <tr> <th></th> <th>班級(jí)類(lèi)型</th> <th>開(kāi)班時(shí)間</th> <th>開(kāi)班狀態(tài)</th> </tr> </thead> <tbody id="tb"> <tr> <td> <input type="checkbox" /> </td> <td>基礎(chǔ)班</td> <td>2021-08-31</td> <td>報(bào)滿(mǎn)已開(kāi)</td> </tr> <tr> <td> <input type="checkbox" /> </td> <td>基礎(chǔ)班</td> <td>2021-09-11</td> <td>報(bào)滿(mǎn)已開(kāi)</td> </tr> <tr> <td> <input type="checkbox" /> </td> <td>高手班</td> <td>2021-08-05</td> <td>報(bào)滿(mǎn)已開(kāi)</td> </tr> <tr> <td> <input type="checkbox" /> </td> <td>高手班</td> <td>2021-09-28</td> <td>報(bào)滿(mǎn)已開(kāi)</td> </tr> <tr> <td> <input type="checkbox" /> </td> <td>高手班</td> <td>2021-11-11</td> <td>即將開(kāi)班</td> </tr> </tbody> </table> </body> <script> // 1:需要為所有tr綁定懸浮事件,利用事件委托,只需要給父級(jí)綁定事件即可 // 2:找到父級(jí)元素,綁定事件 var tb = document.getElementById('tb'); tb.onmouseover = function(ev){ // 3:獲取事件對(duì)象,利用事件對(duì)象獲取target(具體觸發(fā)事件的元素) // console.log(ev.target); // 注意,觸發(fā)事件的是 td ,而我們需要讓tr改變背景顏色 // console.log(ev.target.parentElement) ev.target.parentElement.style.background = '#f5f5f5' } tb.onmouseout = function(ev){ // 3:獲取事件對(duì)象,利用事件對(duì)象獲取target(具體觸發(fā)事件的元素) // console.log(ev.target); // 注意,觸發(fā)事件的是 td ,而我們需要讓tr改變背景顏色 // console.log(ev.target.parentElement) ev.target.parentElement.style.background = '' } // 改變當(dāng)前行的背景顏色 </script> </html>
效果如下:
猜你喜歡
北京校區(qū)