- 浏览: 637038 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java.math.BigDecimal类的用法 -
tuspark:
文章写的挺详细了,但是感觉太乱了,真不如这篇文章: BigDe ...
java.math.BigDecimal类的用法 -
u010040765:
感谢楼主分享,写的很详细,很容易看懂
Struts2中iterator标签遍历map总结 -
若无勇气终将褪去:
[flash=200,200][url][list][*][/ ...
java.math.BigDecimal类的用法 -
若无勇气终将褪去:
...
java.math.BigDecimal类的用法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>Table</title>
</head>
<script type="text/javascript">
/**
* 仿 Prototype 的 $ 方法
*/
window.$ = function(id) {
if(typeof id == 'string') {
return document.getElementById(id);
}
return id;
}
/**
* 色彩渐变
* @param start 起始颜色,使用 # 颜色表
* @param end 终止颜色
* @param step 渐变步长,大于 1 并且小于 200,默认为 16
*/
var ColorGradient = function(start, end, step) {
this.start = this._toRGB(start);
this.end = this._toRGB(end);
this.step = (function() {
if(!step || step < 1 || step > 200) {
return 16;
}
return step;
})();
this.gradient = [];
}
ColorGradient.prototype = {
// 获得渐变的颜色数组,以 6 位十六进制字符串返回
getGradient : function() {
return this._getGradient();
},
// 获得所设定的步长值
getStep : function() {
return this.step;
},
// 测试工作,用于在页面上渐变测试
test : function() {
var grad = this._getGradient();
var n = 400 / this.step;
var p = document.createElement('div');
for(var i = 0; i < grad.length; i++) {
var d = document.createElement('div');
d.className = 'grad';
d.style.width = n + 'px';
d.style.backgroundColor = '#' + grad[i];
p.appendChild(d);
}
document.body.appendChild(p);
},
// 生成渐变色数组
_getGradient : function() {
if(this.gradient.length > 0) {
// 如果渐变色变量中有值直接返回
return this.gradienth;
}
// 生成各步的颜色
for(var i = 0; i <= this.step; i++) {
var color = this._getNewColor(i).toString(16);
while(color.length < 6) {
color = '0' + color;
}
this.gradient.push(color);
}
return this.gradient;
},
// 根据 RGB 变化量获得每步的 RGB 颜色
_getNewColor : function(k) {
var rgbStep = this._getStepRgb();
var rgb = 0;
for(var i = 0; i < 3; i++) {
var c = Math.floor(this.start[i] + rgbStep[i] * k);
rgb |= c << ((3 - i - 1) *;
}
return rgb;
},
// 获得 RGB 三种颜色的变化量
_getStepRgb : function() {
var rgb = [];
// 依次获得 R、G、B 的变化步长
for(var i = 0; i < 3; i++) {
rgb.push(this._getStepVar(i));
}
return rgb;
},
// 根据渐变步长、起始、终止颜色获得步长的变化量
_getStepVar : function(index) {
return (this.end[index] - this.start[index]) / this.step;
},
// 将 # 颜色转换成 RGB 颜色数组
// 索引 0 -- 红色 R
// 索引 1 -- 绿色 G
// 索引 2 -- 蓝色 B
_toRGB : function(color) {
var v = color.substring(1);
var c = parseInt(v, 16);
var rgb = [];
for(var i = 0; i < 3; i++) {
rgb.push(c >> ((3 - i - 1) * & 0xff);
}
return rgb;
}
}
/**
* 事件处理工具类
*/
var Event = function(){}
Event = {
/**
* 为 element 使用 handler 处理程序添加至 event 事件
* 兼容 IE 及 Firefox 等浏览器
*
* 例如为 botton 对象添加 onclick 事件,使用 clickEvent
* 方法作为处理程序:
* Event.addEvent(botton, 'click', clickEvent);
*
* @param element 需要添加事件的对象(Object)
* @param event 需要添加的事件名称(String),不加“on”
* @param handler 需要添加的方法引用(Function)
*/
addEvent : function(element, event, handler) {
if(element.attachEvent) {
element.attachEvent('on' + event, handler);
} else if (element.addEventListener) {
element.addEventListener(event, handler, false);
} else {
element['on' + event] = handler;
}
},
/**
* 添加事件处理程序时,只能添加一个方法的引用,并不能给
* 方法加上参数。比如定义了 clickEvent(str) 这个方法,现
* 在要将其作为 obj 的 onclick 的事件处理程序,就可以用:
* obj.onclick = Event.getFuntion(null, clickEvent, str);
*/
getFunction : function(obj, fun) {
var args = [];
obj = obj || window;
for(var i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
return function() {
fun.apply(obj, args);
};
}
}
var Table = function(id, time, start, end) {
this.rows = (function() {
var tab = $(id);
if(tab.tBodies.length == 0) {
return tab.rows;
}
var rows = [];
for(var i = 0; i < tab.tBodies.length; i++) {
for(var j = 0; j < tab.tBodies[i].rows.length; j++) {
rows.push(tab.tBodies[i].rows[j]);
}
}
return rows;
})();
this.start = start || Table.DEFAULT_START;
this.end = end || Table.DEFAULT_END;
this.time = time || Table.DEFAULT_TIME;
var color = new ColorGradient(this.start, this.end, 16);
this.grad = color.getGradient();
this.step = color.getStep();
}
Table.DEFAULT_TIME = 10;
Table.DEFAULT_START = '#dcdcdc';
Table.DEFAULT_END = '#ffffff';
Table.prototype = {
addEvent : function() {
for(var i = 0; i < this.rows.length; i++) {
this.rows[i].style.backgroundColor = this.end;
Event.addEvent(this.rows[i], 'mouseover',
Event.getFunction(this, this.overEvent, this.rows[i]));
Event.addEvent(this.rows[i], 'mouseout',
Event.getFunction(this, this.outEvent, this.rows[i]));
}
},
overEvent : function(row) {
row.style.backgroundColor = this.start;
row.change = this.step;
},
outEvent : function(row) {
var me = this;
if(row.change-- > 0) {
row.style.backgroundColor = '#' + me.grad[me.step - row.change];
setTimeout(function() {
me.outEvent(row);
}, this.time);
}
},
_getRows : function(id) {
var tab = $(id);
alert(tab.tBodies.length);
}
}
window.onload = function() {
var tab = new Table('tab');
tab.addEvent();
}
</script>
<style type="text/css">
div.grad {
float: left;
height: 100px;
margin: 0;
padding: 0;
}
table {
border-top: 1px solid black;
border-left: 1px solid black;
border-spacing: 0;
font-family: 宋体,新宋体;
}
table td {
border-bottom: 1px solid black;
border-right: 1px solid black;
padding: 2px 5px;
}
</style>
<body>
<div id="k1"></div>
<div id="k2"></div>
<div id="k3"></div>
<div id="k4"></div>
<div id="k5"></div>
<div id="k6"></div>
<div id="k7"></div>
<table id="tab" border="0" cellspacing="0">
<tbody>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
</tbody>
</table>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>Table</title>
</head>
<script type="text/javascript">
/**
* 仿 Prototype 的 $ 方法
*/
window.$ = function(id) {
if(typeof id == 'string') {
return document.getElementById(id);
}
return id;
}
/**
* 色彩渐变
* @param start 起始颜色,使用 # 颜色表
* @param end 终止颜色
* @param step 渐变步长,大于 1 并且小于 200,默认为 16
*/
var ColorGradient = function(start, end, step) {
this.start = this._toRGB(start);
this.end = this._toRGB(end);
this.step = (function() {
if(!step || step < 1 || step > 200) {
return 16;
}
return step;
})();
this.gradient = [];
}
ColorGradient.prototype = {
// 获得渐变的颜色数组,以 6 位十六进制字符串返回
getGradient : function() {
return this._getGradient();
},
// 获得所设定的步长值
getStep : function() {
return this.step;
},
// 测试工作,用于在页面上渐变测试
test : function() {
var grad = this._getGradient();
var n = 400 / this.step;
var p = document.createElement('div');
for(var i = 0; i < grad.length; i++) {
var d = document.createElement('div');
d.className = 'grad';
d.style.width = n + 'px';
d.style.backgroundColor = '#' + grad[i];
p.appendChild(d);
}
document.body.appendChild(p);
},
// 生成渐变色数组
_getGradient : function() {
if(this.gradient.length > 0) {
// 如果渐变色变量中有值直接返回
return this.gradienth;
}
// 生成各步的颜色
for(var i = 0; i <= this.step; i++) {
var color = this._getNewColor(i).toString(16);
while(color.length < 6) {
color = '0' + color;
}
this.gradient.push(color);
}
return this.gradient;
},
// 根据 RGB 变化量获得每步的 RGB 颜色
_getNewColor : function(k) {
var rgbStep = this._getStepRgb();
var rgb = 0;
for(var i = 0; i < 3; i++) {
var c = Math.floor(this.start[i] + rgbStep[i] * k);
rgb |= c << ((3 - i - 1) *;
}
return rgb;
},
// 获得 RGB 三种颜色的变化量
_getStepRgb : function() {
var rgb = [];
// 依次获得 R、G、B 的变化步长
for(var i = 0; i < 3; i++) {
rgb.push(this._getStepVar(i));
}
return rgb;
},
// 根据渐变步长、起始、终止颜色获得步长的变化量
_getStepVar : function(index) {
return (this.end[index] - this.start[index]) / this.step;
},
// 将 # 颜色转换成 RGB 颜色数组
// 索引 0 -- 红色 R
// 索引 1 -- 绿色 G
// 索引 2 -- 蓝色 B
_toRGB : function(color) {
var v = color.substring(1);
var c = parseInt(v, 16);
var rgb = [];
for(var i = 0; i < 3; i++) {
rgb.push(c >> ((3 - i - 1) * & 0xff);
}
return rgb;
}
}
/**
* 事件处理工具类
*/
var Event = function(){}
Event = {
/**
* 为 element 使用 handler 处理程序添加至 event 事件
* 兼容 IE 及 Firefox 等浏览器
*
* 例如为 botton 对象添加 onclick 事件,使用 clickEvent
* 方法作为处理程序:
* Event.addEvent(botton, 'click', clickEvent);
*
* @param element 需要添加事件的对象(Object)
* @param event 需要添加的事件名称(String),不加“on”
* @param handler 需要添加的方法引用(Function)
*/
addEvent : function(element, event, handler) {
if(element.attachEvent) {
element.attachEvent('on' + event, handler);
} else if (element.addEventListener) {
element.addEventListener(event, handler, false);
} else {
element['on' + event] = handler;
}
},
/**
* 添加事件处理程序时,只能添加一个方法的引用,并不能给
* 方法加上参数。比如定义了 clickEvent(str) 这个方法,现
* 在要将其作为 obj 的 onclick 的事件处理程序,就可以用:
* obj.onclick = Event.getFuntion(null, clickEvent, str);
*/
getFunction : function(obj, fun) {
var args = [];
obj = obj || window;
for(var i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
return function() {
fun.apply(obj, args);
};
}
}
var Table = function(id, time, start, end) {
this.rows = (function() {
var tab = $(id);
if(tab.tBodies.length == 0) {
return tab.rows;
}
var rows = [];
for(var i = 0; i < tab.tBodies.length; i++) {
for(var j = 0; j < tab.tBodies[i].rows.length; j++) {
rows.push(tab.tBodies[i].rows[j]);
}
}
return rows;
})();
this.start = start || Table.DEFAULT_START;
this.end = end || Table.DEFAULT_END;
this.time = time || Table.DEFAULT_TIME;
var color = new ColorGradient(this.start, this.end, 16);
this.grad = color.getGradient();
this.step = color.getStep();
}
Table.DEFAULT_TIME = 10;
Table.DEFAULT_START = '#dcdcdc';
Table.DEFAULT_END = '#ffffff';
Table.prototype = {
addEvent : function() {
for(var i = 0; i < this.rows.length; i++) {
this.rows[i].style.backgroundColor = this.end;
Event.addEvent(this.rows[i], 'mouseover',
Event.getFunction(this, this.overEvent, this.rows[i]));
Event.addEvent(this.rows[i], 'mouseout',
Event.getFunction(this, this.outEvent, this.rows[i]));
}
},
overEvent : function(row) {
row.style.backgroundColor = this.start;
row.change = this.step;
},
outEvent : function(row) {
var me = this;
if(row.change-- > 0) {
row.style.backgroundColor = '#' + me.grad[me.step - row.change];
setTimeout(function() {
me.outEvent(row);
}, this.time);
}
},
_getRows : function(id) {
var tab = $(id);
alert(tab.tBodies.length);
}
}
window.onload = function() {
var tab = new Table('tab');
tab.addEvent();
}
</script>
<style type="text/css">
div.grad {
float: left;
height: 100px;
margin: 0;
padding: 0;
}
table {
border-top: 1px solid black;
border-left: 1px solid black;
border-spacing: 0;
font-family: 宋体,新宋体;
}
table td {
border-bottom: 1px solid black;
border-right: 1px solid black;
padding: 2px 5px;
}
</style>
<body>
<div id="k1"></div>
<div id="k2"></div>
<div id="k3"></div>
<div id="k4"></div>
<div id="k5"></div>
<div id="k6"></div>
<div id="k7"></div>
<table id="tab" border="0" cellspacing="0">
<tbody>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
<tr>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
<td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td><td>aaaaaaaaaaaaaa</td>
</tr>
</tbody>
</table>
</body>
</html>
发表评论
-
jquery和jquery ui取值/赋值问题
2016-03-06 17:53 894jquery取某个标签的值(例如取input textbox标 ... -
<s:hidden>标签获取url中的参数
2016-03-05 11:29 1047假设URL传递的参数: url="adminIn ... -
url中传递参数,在另一个界面如何接收
2016-03-05 10:10 3000例如: 用户登录按钮,登录成功页面跳转,在跳转的URL中传递用 ... -
隔行变色,第一行设置颜色,最后一行设置颜色
2015-09-18 21:13 1422<html> <head> & ... -
jquery ajax 实现调用一个action中多个方法
2015-09-17 21:15 1020struts.xml如下: <package nam ... -
JS 操作表格2
2010-09-30 21:31 1511<!doctype html public " ... -
JS 操作表格1
2010-09-30 21:30 1361/* *根据传进来的表结构 和相应的列,返回 */ fu ... -
JS setAttribute
2010-09-30 21:23 3186不能向<tbody>的innerHTML因为它是只 ... -
js dom元素查找方法的总结
2010-08-02 22:50 2651js dom元素查找方法的总结 getElementById: ... -
js 数组
2010-05-29 17:55 17271、数组的创建 var arrayO ... -
JS 操作 select 之二
2010-05-02 18:23 1160先来看看options集合的这几个方法: options.a ... -
JS string相关方法
2010-05-01 15:43 1352去空格: <script type="text ... -
html 中的 文本框设置
2010-05-01 13:36 5328禁用:非常简单的方法:disabled="true& ... -
HTML元素的ID和Name属性的区别
2010-05-01 11:44 1182HTML元素的ID和Name属性的区别 一直认为ID和NA ... -
js 自定义框架分割线效果
2010-04-19 17:01 5013<html> <frameset borde ... -
js 控制div的拖拽与缩放
2010-04-19 16:56 3832<html> <body> <S ... -
JS控制窗口居中
2010-04-19 16:33 1766<html> <script languag ... -
JS控制只能输入数字
2010-04-19 16:20 1298<script language=javascript& ... -
JS 操作 select
2010-03-27 17:21 13181判断select选项中 是否存在Value="pa ... -
JS操作select总结
2010-03-27 16:35 1373JS动态改变select选择变更option的index值 ...
相关推荐
### JS 控制 Table 的 TR 变色 在 Web 开发中,通过 JavaScript 动态地改变表格 (`table`) 的样式是一种常见的操作。这种方式可以增强用户体验,使得数据展示更加直观、友好。本文将详细介绍如何利用 JavaScript 来...
首先,layui的表格组件通过JavaScript来动态渲染和控制。要实现选中行改变颜色的效果,我们需要监听表格的`on('row')`事件,这个事件会在用户点击表格行时触发。当事件触发时,我们可以获取到当前选中的行数据,并...
一个常见的需求是当用户选中表格(`table`)中的某一行时,能够改变该行的背景颜色。这种方式可以直观地告诉用户当前的操作对象,同时提升整体的视觉效果。下面将详细解析如何实现这一功能。 #### 代码解析与实现...
综上所述,通过使用Element UI的`header-cell-style`属性和自定义方法,我们可以轻松地实现对表格表头背景颜色的控制,从而满足不同场景下的界面定制需求。这种方法不仅适用于背景颜色,还适用于其他任何需要自定义...
本文将详细介绍如何通过CSS控制表格`<table>`的交替颜色,并提供具体的代码示例。 ### 一、基本原理 在HTML中,`<table>`元素用于创建表格,而`<tr>`代表表格的一行,`<td>`则表示表格中的一个单元格。CSS提供了...
开发者通过自定义样式或者动态设置样式,实现了对单个单元格字体颜色的控制,以突出特定信息。 4. **选中行样式修改**:原组件的选中行样式可能较为单一,改版后开发者可能提供了更多的自定义选项,使得选中行的...
这时,我们可以借助JavaScript(JS)来动态地改变行的样式。例如,使用jQuery库,我们可以监听表格的`DOMSubtreeModified`事件,一旦表格内容变化,就重新应用隔行变色: ```javascript $(document).ready(function...
为了解决这一问题,我们可以使用JavaScript(JS)来实现表格行的交替颜色,提高用户的阅读体验。本教程将深入讲解如何用JS控制表格的交替颜色,使其呈现出更美观的视觉效果。 首先,我们需要理解HTML表格的基本结构...
通过引入这个JS文件,开发者可以利用JavaScript对象和方法来控制表格的行为,例如初始化表格、添加、删除或更新数据。 `bootstrap-table.css` 是样式表文件,负责定义Bootstrap Table的外观和布局。它继承了...
综上所述,【CSS+JS+Table效果代码】是前端开发中的实用技能,结合CSS的样式控制和JS的动态交互,可以创建出功能强大、用户体验良好的数据展示界面。通过分析和学习提供的代码资源,我们可以深入了解并掌握这些技术...
此外,还可以通过CSS类来控制行的样式,而不是直接在JavaScript中操作样式字符串。 总之,通过本文提供的示例代码和分析,我们可以了解到如何使用JavaScript和HTML实现表格行的高亮显示功能,这不仅增强了页面的...
在CSS2中,我们可以利用`:nth-child()`伪类选择器来为表格的偶数行或奇数行添加不同的背景颜色。以下是一个简单的CSS代码示例: ```css table { width: 100%; border-collapse: collapse; } tr:nth-child(even) ...
2. **可交互性**:用户可以通过点击行的特殊图标(如加号或减号)来控制行的展开和折叠,也可以通过单击或双击行来执行其他操作,如查看详情或编辑数据。 3. **数据绑定**:TreeTable通常与后端数据源进行绑定,...
在本文中,我们将深入探讨如何在AngularJS框架中结合Bootstrap Table实现多选功能,并支持单击行选中。AngularJS是一种强大的前端JavaScript框架,而Bootstrap Table则是一个流行的UI组件库,用于创建美观且响应式的...
在本篇内容中,我们将详细探讨如何通过ExtJS框架来修改Grid中行或列的颜色,以便于实现更直观的数据展示效果。...通过上述方法,我们可以灵活地控制ExtJS Grid中的行和列颜色,进一步提升用户体验和界面美观度。
表格的基本结构由`<table>`、`<tr>`(行)、`<td>`(单元格)和`<th>`(表头)组成。通过以下属性,我们可以调整表格的外观: 1. **边框和间距**:使用`border`、`border-collapse`和`border-spacing`属性可以控制...
本主题将深入探讨“控制table的经典实例”,通过实例学习如何利用HTML和CSS创建美观且功能丰富的表格。 首先,`<table>` 标签是HTML中的一个基本元素,用于创建表格结构。它包括几个组成部分,如 `<table>`, `<tr>`...
5. **API接口**:TableExport提供丰富的API接口,开发者可以通过调用这些接口来控制导出行为,实现更精细的控制。 ### 使用步骤 1. **引入库文件**:首先在HTML文件中引入TableExport的JS和CSS文件,通常可以从CDN...
3. **全选与反选**:在表头设置一个全选/全不选的复选框,可以控制所有行的选中状态。这需要绑定`click`事件,遍历所有的子复选框并更新它们的状态: ```javascript $("#selectAll").on("click", function() { if ...
例如,使用`border-collapse`属性可以控制表格边框合并,`text-align`设置文本对齐,`background-color`改变单元格颜色。 3. **JavaScript增强交互**:JavaScript可以实现动态效果,比如点击单元格后高亮,排序数据...