JavaScript 點選表格行實現背景變色
如果表格行較多,可能會造成錯覺,由此導致失誤。
所以會採用隔行變色或者點選(滑鼠懸浮也是常用的)行實現變色效果。
下面就通過程式碼例項介紹一下如何實現此效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var item=document.getElementById("tb"); var tbody=item.getElementsByTagName("tbody")[0]; var trs=tbody.getElementsByTagName("tr"); var obj=null; var bgColor=null; for(var i=0;i<trs.length;i++){ if(i%2==0){ trs[i].style.backgroundColor="green"; } trs.onclick=function(){ if(obj!=null){obj.style.backgroundColor=bgColor;} bgColor=this.style.backgroundColor; obj=this; this.style.backgroundColor="red"; } } } </script> </head> <body> <table id="tb" border="1"> <tbody> <tr> <td>螞蟻部落一</td> <td>螞蟻部落二</td> <td>螞蟻部落三</td> </tr> <tr> <td>螞蟻部落一</td> <td>螞蟻部落二</td> <td>螞蟻部落三</td> </tr> <tr> <td>螞蟻部落一</td> <td>螞蟻部落二</td> <td>螞蟻部落三</td> </tr> <tr> <td>螞蟻部落一</td> <td>螞蟻部落二</td> <td>螞蟻部落三</td> </tr> <tr> <td>螞蟻部落一</td> <td>螞蟻部落二</td> <td>螞蟻部落三</td> </tr> <tr> <td>螞蟻部落一</td> <td>第一行</td> <td>第一行</td> </tr> </tbody> </table> </body> </html>
表格不但實現了隔行變色的功能,而且當點選行的時候,能夠實現當前行背景變色效果。
一.程式碼註釋:
(1).window.onload=function(){},文件內容完全載入完畢再去執行函式中的程式碼。
(2).var item=document.getElementById("tb"),獲取表格物件。
(3). var tbody=item.getElementsByTagName("tbody")[0],獲取tbody元素。
(4).var trs=tbody.getElementsByTagName("tr"),獲取表格行物件集合。
(5).var obj=null,宣告一個變數並賦值為null,用來儲存表格行物件的引用。
(6).var bgColor=null,宣告一個變數並賦值為null,用來儲存表格行物件的背景色。
(7).for(var i=0;i<trs.length;i++){},通過for迴圈遍歷每一個行物件。
(8).if(i%2==0){trs.style.backgroundColor="green";} ,將奇數行的背景色設定為綠色。
(9).trs.onclick=function(){},為每一個行註冊onclick事件處理函式。
(10).if(obj!=null){obj.style.backgroundColor=bgColor;},如果obj不等於null的時候,也就是不是第一次點選行的時候,將obj的背景顏色設定為bgColor。這裡的目的就是將上一個點選行的背景顏色還原。
(11).bgColor=this.style.backgroundColor,將當前行的背景色儲存在bgColor。
(12).obj=this,將當前行的索引儲存於obj中。
(13).this.style.backgroundColor="red",將當前行的背景顏色設定為紅色。
二.相關閱讀:
(1).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(2).this參閱JavaScript this 用法一章節。
相關文章
- 點選連結背景變色效果
- JavaScript 表格隔行變色效果JavaScript
- JavaScript實用的表格行滑鼠點選高亮效果JavaScript
- JavaScript點選設定背景顏色的選項卡程式碼JavaScript
- JavaScript單擊變色再次點選還原JavaScript
- 點選導航欄使當前欄目背景變色
- 頁面表格怎麼實現隔行異色、隔行變色
- input文字框焦點背景變色
- Flutter 實現“斑馬紋”背景(需要變換顏色)Flutter
- CSS滑鼠懸浮行背景變色效果CSS
- 短視訊平臺原始碼,點選ul/li改變背景顏色原始碼
- Android開發 如何使用選擇器(selector) 來實現點選按鈕變色Android
- CSS 表格隔行變色CSS
- excel重複項篩選標色 excel表格重複項變色Excel
- table表格tr行點選高亮
- echarts 柱狀圖的選中模式實現-被選中變色和再次選中為取消變色Echarts模式
- CSS表格隔行變色詳解CSS
- jQuery外掛--表格隔行變色jQuery
- 從零開始實現一個顏色選擇器(原生JavaScript實現)JavaScript
- html點選<a>元素後顏色的變換HTML
- Jquery實現頁面的新增、刪除、全選、取消全選、漸變色jQuery
- css3背景顏色漸變CSSS3
- 表格 、背景
- jQuery表格隔行變色效果詳解jQuery
- 站點背景改變
- 點選新增或者刪除表格行詳解
- 點選最後一行表格行自增效果
- Vue 導航 點選當前標題變色Vue
- 短視訊開發,點選按鈕Button,更換背景顏色
- JavaScript刪除核取方塊選中的表格行JavaScript
- Table tr 奇數偶數行漸變色Jquery實現jQuery
- vue - elementui 元件 表格 <el-table> 列頭修改背景顏色VueUI元件
- Flutter改變狀態列字型、狀態列背景顏色、Appbar背景顏色的方式FlutterAPP
- CSS 實現字型顏色漸變CSS
- canvas實現動態替換人物的背景顏色Canvas
- 使用 Promise 迴圈改變 div 背景顏色Promise
- vxe-table 單選、實現表格單選資料
- JavaScript文字迴圈變色效果JavaScript