教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

JS如何實現(xiàn)鼠標(biāo)懸浮時表格對應(yīng)行變色?

更新時間:2021年11月03日16時04分 來源:傳智教育 瀏覽次數(shù):

表格

現(xiàn)在有個傳智教育HTML&JS+前端開發(fā)課程的開班表格,我們需要通過JS實現(xiàn)鼠標(biāo)懸浮表格對應(yīng)行變色的效果。

下面通過代碼實現(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>通過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>班級類型</th>
                <th>開班時間</th>
                <th>開班狀態(tài)</th>
            </tr>
        </thead>
        <tbody id="tb">
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>基礎(chǔ)班</td>
                <td>2021-08-31</td>
                <td>報滿已開</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>基礎(chǔ)班</td>
                <td>2021-09-11</td>
                <td>報滿已開</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>高手班</td>
                <td>2021-08-05</td>
                <td>報滿已開</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>高手班</td>
                <td>2021-09-28</td>
                <td>報滿已開</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" />
                </td>
                <td>高手班</td>
                <td>2021-11-11</td>
                <td>即將開班</td>
            </tr>
        </tbody>
    </table>
</body>
<script>
    // 1:需要為所有tr綁定懸浮事件,利用事件委托,只需要給父級綁定事件即可
    // 2:找到父級元素,綁定事件
    var tb = document.getElementById('tb');
    tb.onmouseover = function(ev){
        // 3:獲取事件對象,利用事件對象獲取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:獲取事件對象,利用事件對象獲取target(具體觸發(fā)事件的元素)
        // console.log(ev.target);
        // 注意,觸發(fā)事件的是 td  ,而我們需要讓tr改變背景顏色
        // console.log(ev.target.parentElement)
        ev.target.parentElement.style.background = ''
    }
    // 改變當(dāng)前行的背景顏色
</script>
</html>

效果如下:

JS實現(xiàn)鼠標(biāo)懸浮表格對應(yīng)行變色



猜你喜歡

什么是事件冒泡?如何阻止事件冒泡?

如何阻止瀏覽器默認行為和阻止事件傳播?

JS全局變量和局部變量的區(qū)別

傳智教育HTML&JS+前端課程

0 分享到:
和我們在線交談!