`

jQuery表格颜色:奇偶显示,鼠标悬停,点击固定颜色

阅读更多
//表格颜色处理:-------------------------------------------------START
/*
 说明:
 		$(function() {
 			_tableColorDecorator.initTableColor(tblIdArr, colorArr, captionRowspan, enableClickEvent, clickCount, clickColor);
 		});
 		
 		tblIdArr: 要加色的table的id数组["table_id1", "table_id2"]
		colorArr: 颜色数组[],依次是:表头颜色,偶数行,奇数行,mouseover,传""将使用默认颜色
 		captionRowspan:表头的行数,
 		enableClickEvent: 是否开启点击事件, 默认关闭 
 		clickCount:传 1/2/"", 单击,双击,不启用
 		clickColor:颜色值,“”时候用默认颜色
 */
var _tableColorDecorator = {
	captionColor: "#6492DD",
	evenColor: "#F11FFF",
	oddColor: "#aaFFFF",
	mouseoverColor: "#FF1111",
	clickColor: "FFFF11",
	tmpColor: "#FFFFFF",
	$clickedTr: null,
	tmpClickColor: "#FFFFFF", 
	enableClickEvent: false, 
	clickCount: 1,

	setCaptionTrColor: function($tbl, captionRowspan) {
		$tbl.find("tr:lt(" + (captionRowspan) + ")").css("backgroundColor", _tableColorDecorator.captionColor);
	},
			
	setContentTrColor: function($tbl, captionRowspan) {
		$tbl.find("tr:gt(" + (captionRowspan - 1) + "):even").css("backgroundColor", _tableColorDecorator.evenColor);
		$tbl.find("tr:gt(" + (captionRowspan - 1) + "):odd").css("backgroundColor", _tableColorDecorator.oddColor);
	},
			
	bindEventHandler: function($tbl, captionRowspan) {
		var $contentTrs = $tbl.find("tr:gt(" + (captionRowspan - 1) + ")");
		
		$contentTrs.bind("mouseover", function() {
			if(_tableColorDecorator.$clickedTr == null ||
				(_tableColorDecorator.$clickedTr && _tableColorDecorator.$clickedTr.get(0).rowIndex != this.rowIndex)) {
				_tableColorDecorator.tmpColor = $(this).css("backgroundColor");
				$(this).css("backgroundColor", _tableColorDecorator.mouseoverColor);
			}
		});
		
		$contentTrs.bind("mouseout", function() {
			if(_tableColorDecorator.$clickedTr == null ||
				(_tableColorDecorator.$clickedTr && _tableColorDecorator.$clickedTr.get(0).rowIndex != this.rowIndex)) {
				$(this).css("backgroundColor", _tableColorDecorator.tmpColor);
			}
		});
		
		if(_tableColorDecorator.enableClickEvent) {
			var tmpEventName = _tableColorDecorator.clickCount == 1 ? "click" : "dblclick";
			$contentTrs.bind(tmpEventName, function() {
				if(_tableColorDecorator.$clickedTr == null) {
					_tableColorDecorator.tmpClickColor = _tableColorDecorator.tmpColor;
					$(this).css("backgroundColor", _tableColorDecorator.clickColor);
					_tableColorDecorator.$clickedTr = $(this);
				} else {
					if(_tableColorDecorator.$clickedTr.get(0).rowIndex == this.rowIndex) {
						$(this).css("backgroundColor", _tableColorDecorator.tmpClickColor);
						_tableColorDecorator.$clickedTr = null;
					} else {
						_tableColorDecorator.$clickedTr.css("backgroundColor", _tableColorDecorator.tmpClickColor);
						_tableColorDecorator.tmpClickColor = _tableColorDecorator.tmpColor;
						$(this).css("backgroundColor", _tableColorDecorator.clickColor);
						_tableColorDecorator.$clickedTr = $(this);
					}
				}
			});	
			
		}
	},

	initVar: function(colorArr, enableClickEvent, clickCount, clickColor){
		if(colorArr && colorArr.length == 4) {
			_tableColorDecorator.captionColor = colorArr[0];
			_tableColorDecorator.evenColor = colorArr[1];
			_tableColorDecorator.oddColor = colorArr[2];
			_tableColorDecorator.mouseoverColor = colorArr[3];
		}
		
		if(enableClickEvent && enableClickEvent != "") _tableColorDecorator.enableClickEvent = enableClickEvent; 
		if(clickCount && clickCount != "") _tableColorDecorator.clickCount = clickCount;
		if(clickColor && clickColor != "") _tableColorDecorator.clickColor = clickColor;
	},
	
	initTableColor: function(tblIdArr, colorArr, captionRowspan, enableClickEvent, clickCount, clickColor) {
		_tableColorDecorator.initVar(colorArr, enableClickEvent, clickCount, clickColor);
		
		for(var i = 0; i < tblIdArr.length; i++) {
			$tbl = $("#" + tblIdArr[i]);
			if($tbl) {
				_tableColorDecorator.setCaptionTrColor($tbl, captionRowspan);					
				_tableColorDecorator.setContentTrColor($tbl, captionRowspan);					
				_tableColorDecorator.bindEventHandler($tbl, captionRowspan);					
			}
		}
	}
}
			//表格颜色处理:-------------------------------------------------END
分享到:
评论

相关推荐

    jQuery插件 表格奇偶交替,加亮显示

    总的来说,"jQuery插件 表格奇偶交替,加亮显示"是一个提升网页表格用户体验的有效工具。通过简单的JavaScript代码和适当的CSS,它能为表格增添视觉吸引力,帮助用户更好地理解和操作数据。对于任何处理大量数据的...

    jquery表格隔行变色鼠标滑过竖直表格内容变色效果

    // 鼠标悬停时,背景色变为黄色 }, function() { $(this).css('background-color', ''); // 鼠标移开时,恢复原背景色 }); }); ``` 在这个示例中,`$('td')`选择了所有表格的单元格,`hover`方法接收两个函数...

    自做jQuery插件----表格(奇偶行不同色,鼠标滑过颜色效果,单击高亮)

    在本项目中,我们主要探讨如何制作一个自定义的jQuery插件,用于实现表格的特殊样式功能,包括奇偶行颜色交替、鼠标滑过时的颜色变化以及单击高亮的效果。这个插件对于提高用户体验和美化网页数据展示具有显著作用。...

    表格奇数偶数行条纹效果(jQuery)

    总的来说,通过jQuery,我们可以轻松实现表格的奇偶数行条纹效果,以及鼠标悬停和点击时的交互反馈。这个功能不仅提升了表格的可读性,也增加了用户的操作体验。在实际开发中,可以根据项目需求调整颜色、样式和交互...

    jquery实现的超帅动态表格交叉变色高亮显示效果.zip

    交叉变色通常指的是奇偶行交替变色,而高亮显示可能是鼠标悬停时单元格的背景色变化。 实现这一效果可能涉及到以下步骤: 1. **选择器**:使用jQuery选择器选取表格的行和单元格,例如`$('table tbody tr')`选取...

    jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码

    接着,我们为表格的每一行绑定`mouseover`和`mouseout`事件,当鼠标悬停在某行上时,添加`.activeRow`类以实现高亮显示,离开时移除该类恢复原样。 要使用这个插件,只需要在表格后引入jQuery库和上面定义的脚本,...

    如何用jquery控制表格奇偶行及活动行颜色

    在这个主题中,我们将探讨如何使用jQuery来控制表格中奇偶行以及活动行的颜色。jQuery是一个快速、小巧、功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互,从而让Web开发更加方便快捷。 1...

    Jquery + CSS 制作条纹table表格

    在这个场景下,jQuery可以帮助我们轻松地监听鼠标事件,实现鼠标悬停时表格行的高亮显示。 CSS则是样式表语言,用于描述HTML或XML(包括各种XML方言,如SVG、XHTML等)文档的呈现。我们可以利用CSS的`:nth-child()`...

    jQuery和css3响应式斑马线表格美化插件

    在斑马线表格美化方面,CSS3可以轻松实现隔行变色的效果,通过伪类`:nth-child(odd)`或`:nth-child(even)`来选择奇偶行并应用不同的背景颜色,达到视觉上的区分。此外,CSS3的媒体查询(Media Queries)使得设计可以...

    jQuery实例(菜单、滚动、层隐藏等)

    例如,通过`.hover()`方法可以轻松地添加鼠标悬停效果,使菜单项在鼠标经过时改变颜色或显示下拉子菜单。`.click()`方法则用于监听点击事件,当用户点击菜单项时触发特定功能。此外,`.toggle()`可以用于实现菜单项...

    21个新奇漂亮的AjaxCSS表格设计

    - **MooTools TableRow & Column highlighting**:基于MooTools框架,实现鼠标悬停时的单元格行和列高亮显示。 - **CSSTableGallery**:收集了大量表格样式,提供设计灵感。 - **jQuery Table Filter**:实现数据的...

    用jquery编辑的可更改表格内容的斑马表

    斑马表的样式应该在其中设定,包括奇偶行的背景颜色、单元格的边框以及鼠标悬停时的高亮效果等。 总的来说,"用jQuery编辑的可更改表格内容的斑马表"是将HTML表格与jQuery结合,通过JavaScript实现交互性,利用CSS...

    自己挑选的几个Jquery特效

    例如,`hover(inFunction, outFunction)`可以设置当鼠标悬停在元素上时调用`inFunction`,离开时调用`outFunction`,常用于改变背景颜色或显示隐藏内容。 2. **左侧蓝色一级菜单带提示效果**: 这个特效创建了一种...

    自定义表格样式(绿色)

    还可以通过CSS的`:hover`、`:active`和`:focus`伪类添加鼠标悬停、点击和获取焦点时的样式变化,提升用户体验。 8. **JavaScript与jQuery扩展**: 除了静态样式,还可以使用JavaScript或jQuery动态改变表格样式,...

    jQuery表格(Table)基本操作实例分析

    通过添加和移除CSS类,我们可以实现当鼠标悬停在表格行上时改变背景色的效果。定义一个`.hover` CSS类,然后使用jQuery的`hover()`函数来监听鼠标进入和离开事件,分别添加和移除这个类。 ```javascript .hover ...

    jQuery操作表格(table)的常用方法、技巧汇总

    当鼠标悬停在表格行上时,给该行的单元格添加一个类,离开时移除这个类。两种方法的代码如描述所示,主要通过`addClass()`和`removeClass()`方法。 2. 奇偶行不同颜色: 可以利用CSS的伪类`:odd`和`:even`来区分...

    jQuery操作Table技巧大汇总

    例如,当鼠标悬停在表格行上时,可以通过添加`hover`类来改变行内单元格的颜色,反之则移除该类以恢复原色。 2. 奇偶行不同颜色:通过CSS伪类`:odd`和`:even`,可以轻松地为表格的奇数行和偶数行设置不同的背景颜色...

    JS自定义的漂漂亮样式的Table

    总结来说,创建一个具有隔行换色、鼠标悬停变色和点击变色的自定义表格样式,主要依赖于CSS的伪类选择器和JavaScript事件监听。通过这些技术,我们可以使HTML表格更具视觉吸引力和交互性,从而提升网页的整体体验。...

    漂亮大气的表格样式

    4. **悬停效果**:添加`:hover`伪类可以为鼠标悬停的行或单元格添加特殊效果。 ```css tr:hover { background-color: #ddd; } ``` 5. **响应式设计**:使用媒体查询(`@media`)确保表格在不同设备和屏幕尺寸上...

    jQuery 表格隔行变色代码[修正注释版]

    这样,当鼠标悬停在表格行上时,其背景颜色会变为红色,增强了用户体验。 #### 四、JavaScript版本实现 在文章末尾提供了一个JavaScript版本的实现方法。虽然这个部分未完全展示,但我们可以推测其基本思路是通过...

Global site tag (gtag.js) - Google Analytics