JS實(shí)現(xiàn)表格隔行變色
本文實(shí)例為大家分享了JS實(shí)現(xiàn)表格隔行變色的具體代碼,供大家參考,具體內(nèi)容如下
用到的鼠標(biāo)事件:(1)鼠標(biāo)經(jīng)過 onmouseover;(2)鼠標(biāo)離開 onmouseout
核心思路:鼠標(biāo)經(jīng)過 tr 行的時(shí)候,當(dāng)前行會(huì)改變背景顏色,鼠標(biāo)離開的時(shí)候去掉背景顏色。
注意:第一行(thead 里面的行)不需要變換顏色,改變的是 tbody 里面的行。
1、獲取元素,獲取的是 tbody里面的行。
2、循環(huán)注冊(cè)綁定事件,將 tbody 里面全部的行都得到,然后全部都注冊(cè)鼠標(biāo)經(jīng)過和離開事件。
3、所有行綁定鼠標(biāo)經(jīng)過事件,鼠標(biāo)經(jīng)過當(dāng)前元素(this)改變顏色;
4、所有行綁定鼠標(biāo)離開事件,鼠標(biāo)離開當(dāng)前元素(this)沒有顏色;
代碼如下:
<!DOCTYPE html> <html lang="en"> <head> ? ? <meta charset="UTF-8"> ? ? <title>表格隔行變色</title> ? <style type="text/css"> ? ? ? *{ ? ? ? ? ? margin:0;padding: 0; ? ? ? } ? ? ? table{ ? ? ? ? ? width:500px; ? ? ? ? ? position:relative; ? ? ? ? ? margin:100px auto; ? ? ? ? ? border-collapse:collapse; ? ? ? ? ? /*合并表格單一邊框*/ ? ? ? ? ? border:1px solid #d7d7d7; ? ? ? } ? ? ? thead tr{ ? ? ? ? ? background-color:#ccc; ? ? ? ? ? height:30px; ? ? ? } ? ? ? table tr{ ? ? ? ? ? text-align: center; ? ? ? ? ? height:30px; ? ? ? } ? ? ? .bg{ ? ? ? ? ? background: #eee; ? ? ? } </style> </head> <body> <table ?border=1> ? ? <thead> ? ? ? ? <tr> ? ? ? ? ? ? <td width="40">序號(hào)</td> ? ? ? ? ? ? <td width="100">前端單詞</td> ? ? ? ? ? ? <td width="80">基本釋義</td> ? ? ? ? ? ? <td width="50">長(zhǎng)度</td> ? ? ? ? ? ? <td width="">補(bǔ)充</td> ? ? ? ? </tr> ? ? </thead> ? ? <tbody> ? ? ? ? <tr> ? ? ? ? ? ? ? ? ? ?<td>1</td> ? ? ? ? ? ? ? ? ? ?<td>select</td> ? ? ? ? ? ? ? ? ? ?<td>選擇</td> ? ? ? ? ? ? ? ? ? ?<td>6</td> ? ? ? ? ? ? ? ? ? ?<td>-</td> ? ? ? ? ? ? ?</tr> ? ? ? ? ? ? ?<tr> ? ? ? ? ? ? ? ? ? ?<td>2</td> ? ? ? ? ? ? ? ? ? ?<td>target</td> ? ? ? ? ? ? ? ? ? ?<td>目標(biāo)</td> ? ? ? ? ? ? ? ? ? ?<td>6</td> ? ? ? ? ? ? ? ? ? ?<td>-</td> ? ? ? ? ? ? ?</tr> ? ? ? ? ? ? ?<tr> ? ? ? ? ? ? ? ? ? ?<td>3</td> ? ? ? ? ? ? ? ? ? ?<td>input </td> ? ? ? ? ? ? ? ? ? ?<td>輸出</td> ? ? ? ? ? ? ? ? ? ?<td>5</td> ? ? ? ? ? ? ? ? ? ?<td>-</td> ? ? ? ? ? ? ?</tr> ? ? ? ? ? ? ?<tr> ? ? ? ? ? ? ? ? ? ?<td>4</td> ? ? ? ? ? ? ? ? ? ?<td>button</td> ? ? ? ? ? ? ? ? ? ?<td>按鈕</td> ? ? ? ? ? ? ? ? ? ?<td>8</td> ? ? ? ? ? ? ? ? ? ?<td>-</td> ? ? ? ? ? ? ?</tr> ? ? ? ? ? ? ?<tr> ? ? ? ? ? ? ? ? ? ?<td>5</td> ? ? ? ? ? ? ? ? ? ?<td>checkbox</td> ? ? ? ? ? ? ? ? ? ?<td>復(fù)選框</td> ? ? ? ? ? ? ? ? ? ?<td>8</td> ? ? ? ? ? ? ? ? ? ?<td>-</td> ? ? ? ? ? ? ?</tr> ? ? </tbody> </table> <script> ? ? //1、獲取tbody里面的所有的行 ? ? var trs = document.querySelector('tbody').querySelectorAll('tr'); ? ? //2、利用循環(huán)注冊(cè)事件 ? ? for(var i = 0;i<trs.length;i++){ ? ? ? ? var bgc = function(e){this.className = 'bg';} ? ? ? ? trs[i].addEventListener('mouseover',bgc) ? ? ? ? trs[i].onmouseout = function(){ ? ? ? ? ? ? this.className = ''; ? ? ? ? } ? ? } </script> </body> </html>
顯示效果:
當(dāng)鼠標(biāo)滑過時(shí):
當(dāng)鼠標(biāo)離開時(shí):
當(dāng)然這個(gè)效果使用 CSS的 :hover 可以非常簡(jiǎn)單的實(shí)現(xiàn)(tbody tr:hover{background: #eee;}),但是在這個(gè)例子中主要想體現(xiàn)的是使用JS事件和排他思想實(shí)現(xiàn)的效果。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS控制表格隔行變色
- javascript實(shí)現(xiàn)table表格隔行變色的方法
- js實(shí)現(xiàn)鼠標(biāo)經(jīng)過表格行變色的方法
- 原生JS操作網(wǎng)頁(yè)給p元素添加onclick事件及表格隔行變色
- 一個(gè)簡(jiǎn)單但常用的javascript表格樣式_鼠標(biāo)劃過行變色 簡(jiǎn)潔實(shí)現(xiàn)
- javascript基于jQuery的表格懸停變色/恢復(fù),表格點(diǎn)擊變色/恢復(fù),點(diǎn)擊行選Checkbox
- 高效的表格行背景隔行變色及選定高亮的JS代碼
- 用JS控制表格的逐行變色的表單
- javascript表格隔行變色加鼠標(biāo)移入移出及點(diǎn)擊效果的方法
- js兼容標(biāo)準(zhǔn)的表格變色效果
相關(guān)文章
js 動(dòng)態(tài)加載事件的幾種方法總結(jié)
本篇文章主要是對(duì)js 動(dòng)態(tài)加載事件的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來(lái)參考下,希望對(duì)大家有所幫助2013-12-12vue 集成騰訊地圖實(shí)現(xiàn)api(附DEMO)
之前項(xiàng)目使用騰訊地圖,不利于開發(fā)者查找,這篇文章主要介紹了vue 集成騰訊地圖實(shí)現(xiàn)api,具有一定的參考價(jià)值,感興趣的可以了解下2021-07-07JS動(dòng)態(tài)給對(duì)象添加屬性和值的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇JS動(dòng)態(tài)給對(duì)象添加屬性和值的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-10-10純CSS3代碼實(shí)現(xiàn)滑動(dòng)開關(guān)效果
CSS33D炫酷左右滑動(dòng)開關(guān)按鈕是一款非??岬腃SS3 3D開關(guān)按鈕,點(diǎn)擊按鈕可以左右滑動(dòng),就像開關(guān)打開閉合一樣的效果,通過本篇文章給大家介紹純CSS3代碼實(shí)現(xiàn)滑動(dòng)開關(guān)效果,需要的朋友可以參考下2015-08-08JS運(yùn)動(dòng)特效之任意值添加運(yùn)動(dòng)的方法分析
這篇文章主要介紹了JS運(yùn)動(dòng)特效之任意值添加運(yùn)動(dòng)的方法,結(jié)合實(shí)例形式分析了javascript針對(duì)多物體運(yùn)動(dòng)通過參數(shù)控制不同運(yùn)動(dòng)效果的實(shí)現(xiàn)方法,需要的朋友可以參考下2018-01-01JavaScript基本語(yǔ)法學(xué)習(xí)教程
javascript語(yǔ)言是網(wǎng)頁(yè)中廣泛使用的一種腳本語(yǔ)言,通過本文給大家介紹javascript基本語(yǔ)法,需要的朋友可以參考下本文2016-01-01