js點選當前td單元格背景變色效果詳解
本章節分享一段程式碼例項,它實現了滑鼠點選td單元格能夠將其背景顏色改變的效果。
並且當滑鼠再點選其他單元格的時候,前一個單元格的背景顏色會還原。
下面就通過程式碼例項介紹一下如何實現此功能。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #tb td{ background:#ccc; } </style> <script tyle="text/javascript"> var oldTD = null; var oldColor = "#ccc"; function SetColor(ev){ var ev = ev || window.event; var obj = ev.srcElement||ev.target; if (obj.tagName != "TD") return obj.style.backgroundColor = "red"; if (oldTD) { oldTD.style.backgroundColor = oldColor; } oldTD = obj; } window.onload = function(){ var table = document.getElementById("tb"); table.onclick = function (ev) { var ev = ev || window.event; SetColor(event) } } </script> </head> <body> <table id="tb" width="500" border="1"> <tr> <td width="93" height="29">螞蟻部落一</td> <td width="93" height="29">螞蟻部落二</td> <td width="93" height="29">螞蟻部落三</td> </tr> </table> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var oldTD = null,宣告一個變數並賦初值為null,用來存放上一個點選的td單元格物件。
(2).var oldColor = "#ccc",用來存放td單元格最初的背景顏色。
(3).function SetColor(ev){},click事件處理函式。
(4).var ev = ev || window.event,相容所有瀏覽器的事件物件。
(5).var obj = ev.srcElement||ev.target,相容所有瀏覽器的事件源物件。
(6).if (obj.tagName != "TD") return,如果點選的不是td單元格那麼直接跳出。
(7).obj.style.backgroundColor = "red",設定當前點選的td單元格的背景顏色。
(8).if (oldTD) { oldTD.style.backgroundColor = oldColor;
},如果存在上一個單元格,那麼就將上一個單元格的背景顏色恢復。
(9).oldTD = obj,將當前點選的單元格存入變數。
(10).window.onload = function(){
var table = document.getElementById("tb");
table.onclick = function (ev) {
var ev = ev || window.event;
SetColor(event)
}
}註冊事件處理函式。
將事件註冊在table上而不是td上是利用了事件冒泡現象。
二.相關閱讀:
(1).var ev = ev || window.event可以參閱var ev=window.event||ev的作用是什麼一章節。
(2).srcElement可以參閱javascript event.srcElement屬性一章節。
(3).target可以參閱javascript event.target一章節。
(4).tagName可以參閱javascipt tagName一章節。
(5).事件冒泡可以參閱javascript事件冒泡簡單介紹一章節。
相關文章
- javascript實現的滑鼠懸浮當前td單元格變色效果JavaScript
- js實現點選導航欄使當前背景變色程式碼JS
- js點選當前連結背景變色其他連結恢復原來背景色JS
- jQuery獲取點選td單元格的值jQuery
- Vue 導航 點選當前標題變色Vue
- c# datagridview選中當前單元格及單元格單擊事件C#View事件
- 點選當前文字行實現文字變色效果
- 搭建直播平臺,Ext Js grid 改變單元格背景顏色的方法JS
- JavaScript 遍歷td單元格JavaScript
- JavaScript 點選表格行實現背景變色JavaScript
- 滑鼠懸浮背景變色導航選單
- js實現的點選表格行實現背景變色程式碼JS
- jQuery表格隔行變色效果詳解jQuery
- JavaScript 獲取表格指定td單元格JavaScript
- 動態建立table表格併為每一個td單元格註冊點選事件事件
- JS 點選複製當前URL地址JS
- 點選元素實現當前元素隱藏效果
- td單元格合併程式碼例項
- CSS滑鼠懸浮行背景變色效果CSS
- css滑鼠懸浮div背景變色效果CSS
- javascript網頁背景顏色漸變效果JavaScript網頁
- css樣式背景顏色漸變效果CSS
- 點選按鈕實現切換頁面背景顏色效果
- javascript實現的點選當前元素隱藏效果JavaScript
- 表格單元格點選操作(彈窗)
- 為每一個table單元格設定不同的背景顏色
- iOS 背景圖層的顏色漸變效果iOS
- 批次選取不相鄰單元格(同填充色)
- input文字框焦點背景變色
- javascript點選元素實現當前輪換展現效果JavaScript
- JavaScript單擊變色再次點選還原JavaScript
- 滑鼠懸浮實現連結背景變色效果
- 選中和取消選中核取方塊實現背景變色和取消變色
- js遍歷迭代table表格的每一個td單元格程式碼例項JS
- JavaScript元素點選背景顏色切換JavaScript
- js:當前焦點物件JS物件
- js獲取點選單元格中的內容程式碼例項JS
- 實現滑鼠懸浮table表格行背景變色效果