jQuery隔行變色效果程式碼例項
分享一段程式碼例項,它實現了table表格行隔行變色效果。
並且當選中當前行的時候也能夠實現變色。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style media="screen"> thead th { width: 50px; height: 30px; line-height: 30px; text-align: center; padding: 2px 3px; } td { width: 80px; height: 20px; line-height: 20px; text-align: center; padding: 2px 3px; } .odd { background: #FFFFEE; } .even { background: #FFF38F; } .selected { background: #FF6500; color: #fff; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> (function($) { $.fn.extend({ "alterBgcolor": function(options) { options = $.extend({ odd: "odd", even: "even", selected: "selected" }, options); $("tbody>tr:odd", this).addClass(options.odd); $("tbody>tr:even", this).addClass(options.even); $("tbody>tr", this).click(function() { var hasSelected = $(this).hasClass(options.selected); $(this)[hasSelected ? "removeClass" : "addClass"](options.selected) .find(":checkbox").attr("checked", !hasSelected); }); $('tbody>tr:has(":checked")', this).addClass(options.selected); return this; } }); })(jQuery); $(function() { $("#table_02").alterBgcolor() .find("th") .css("color", "red"); }); </script> </head> <body> <table id="table_01"> <thead> <tr> <th>名稱</th> <th>年齡</th> <th>地址</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" name="choice" value="" /></td> <td>螞蟻部落</td> <td>4</td> <td>青島市南區</td> </tr> <tr> <td><input type="checkbox" name="choice" value="" checked="checked" /></td> <td>網易</td> <td>10</td> <td>北京</td> </tr> <tr> <td><input type="checkbox" name="choice" value="" /></td> <td>騰訊</td> <td>12</td> <td>深圳</td> </tr> <tr> <td><input type="checkbox" name="choice" value="" checked="checked" /></td> <td>百度</td> <td>15</td> <td>背景</td> </tr> </tbody> </table> <table id="table_02"> <thead> <tr> <th>名稱</th> <th>年齡</th> <th>地址</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" name="choice" value="" /></td> <td>螞蟻部落</td> <td>4</td> <td>青島市南區</td> </tr> <tr> <td><input type="checkbox" name="choice" value="" checked="checked" /></td> <td>網易</td> <td>10</td> <td>北京</td> </tr> <tr> <td><input type="checkbox" name="choice" value="" /></td> <td>騰訊</td> <td>12</td> <td>深圳</td> </tr> <tr> <td><input type="checkbox" name="choice" value="" checked="checked" /></td> <td>百度</td> <td>15</td> <td>背景</td> </tr> </tbody> </table> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).(function($) {}),當文件結構完全載入完畢再去執行函式中的程式碼。
(2).$.fn.extend({}),為jquery例項物件新增屬性或者方法。
(3)."alterBgcolor": function(options) {},此函式實現了隔行變色效果,引數是一個配置物件。
(4).options = $.extend({ odd: "odd",
even: "even",
selected: "selected"
}, options),對options進行配置,extend的第一個引數是預設配置。
(5).$("tbody>tr: odd", this).addClass(options.odd),為當前jquery物件內的奇數tr行新增指定的樣式類。
(6).$("tbody>tr:even", this).addClass(options.even),和上面是同樣的道理,只是為偶數行新增指定的樣式類。
(7).$("tbody>tr", this).click(function() {}),為當前jquery物件內的tr行註冊click事件處理函式。
(8).var hasSelected = $(this).hasClass(options.selected),判斷當前行是否具有指定的樣式類,返回一個布林值。
(9).$(this)[hasSelected ? "removeClass" : "addClass"](options.selected).find(":checkbox").attr("checked", !hasSelected);
上面的程式碼分段比較好理解,$(this)[hasSelected ? "removeClass" : "addClass"](options.selected)根據hasSelected是true或者false,來呼叫jquery物件的removeClass()方法或者addClass()方法,傳遞的引數是options.selected,也就是說如果沒有指定的樣式類,那麼就新增對應的樣式類,如果有,則刪除對應的樣式類;find(":checkbox").attr("checked", !hasSelected)如果核取方塊已經選中,則取消選中,否則選中。
(10).$('tbody>tr:has(":checked")', this).addClass(options.selected),如果行具有選中的核取方塊,那麼就新增對應的樣式類。
(11).$(function() {}),當文件結構完全載入完畢再去執行函式中的程式碼。
(12).$("#table_02").alterBgcolor().find("th").css("color", "red"),對第二個表格進行表格隔行變色設定,並且將標題設定為紅色。
相關文章
- jQuery 隔行變色效果程式碼例項jQuery
- js table隔行變色效果程式碼例項JS
- jQuery實現的隔行變色程式碼例項jQuery
- CSS 隔行變色程式碼例項CSS
- js隔行變色程式碼例項JS
- table表格隔行變色程式碼例項
- jQuery table表格隔行換色程式碼例項jQuery
- jQuery表格隔行變色效果詳解jQuery
- js實現li元素隔行背景變色例項程式碼JS
- JavaScript隔行變色效果JavaScript
- jQuery表格隔行變色jQuery
- JavaScript 表格隔行變色效果JavaScript
- jQuery 動畫效果程式碼例項jQuery動畫
- jQuery外掛--表格隔行變色jQuery
- 滑鼠懸浮按鈕背景變色效果程式碼例項
- javascript文字彩虹式顏色漸變效果程式碼例項JavaScript
- js字型顏色隨機變化效果程式碼例項JS隨機
- jquery小球碰撞效果程式碼例項jQuery
- jquery 驗證碼效果程式碼例項jQuery
- jQuery tab選項卡效果程式碼例項jQuery
- jQuery加法驗證碼效果程式碼例項jQuery
- jQuery雪花飄落效果程式碼例項jQuery
- jQuery進度條效果程式碼例項jQuery
- jQuery手風琴效果程式碼例項jQuery
- jQuery簡單調色器程式碼例項jQuery
- jQuery點選滑出層效果程式碼例項jQuery
- jQuery倒數計時效果程式碼例項jQuery
- jQuery繪製網格效果程式碼例項jQuery
- jQuery數字分頁效果程式碼例項jQuery
- jQuery background-position動畫效果程式碼例項jQuery動畫
- jQuery大圖跟隨效果程式碼例項jQuery
- jquery實現的選項卡效果例項程式碼jQuery
- 表格行背景交替變色例項程式碼
- 支援鍵盤上下鍵的隔行變色程式碼
- jquery實現的分頁效果例項程式碼jQuery
- jQuery九宮格抽獎效果程式碼例項jQuery
- jquery尋找最佳路徑效果程式碼例項jQuery
- js實現的表格隔行變色和滑鼠懸浮變色程式碼JS