河北富宇环保设备有限公司
河北富宇环保设备有限公司是专业从事UV光氧,VOC催化燃烧设备,布袋除尘器,小型除尘器,脉冲除尘器,单机除尘器,旋风除尘器,湿式除尘器及除尘器骨架,除尘器布袋,电磁脉冲阀,脉冲控制仪,星型卸料器等。
www.chuchenhb.com许多网站目前表格数据交替使用的背景颜色,以增加数据的可读性。当我开发了一个网站,我意识到我想这样做,太。问题?在我的情况不是由服务器端的应用程序或脚本,你可以在网上找到许多例子生成的表。
显而易见的解决方案是硬编码中每隔一行,以确保它有一个不同的背景颜色。但我想表是动态的,所以它是可以添加在桌子中间一个新行而不改变随后的行的背景颜色属性。
我的解决方案使用JavaScript,如CSS3是不是真正可行的选择呢。浏览器今天仍在努力支持CSS1和CSS2。虽然不推荐的Web页面布局HTML表格,他们仍然完全适合表格数据的呈现。在本教程中,我将介绍基于同样的想法,三个例子。我只在Windows平台上测试了IE6,火狐1.0,Mozilla的1.7.3和Opera 7.54的解决方案。
让我们从一个普通的HTML表开始。表是否包含头/脚元素并不重要在这种情况下:
<预的tabindex = “0”> <代码> <表ID = “theTable”>
TABLE> 代码> PRE>
现在,我们需要检查浏览器是相当新的,有必要的JavaScript功能(即W3C DOM支持)。下面的代码行执行此检查,不合格Netscape 4和别人那一代。这样的浏览器不会试图以色表。
<预的tabindex = “0”> <代码>如果(的document.getElementById)代码> PRE>
还要注意的是共同所有这些例子是这样的代码:
<预的tabindex = “0”> <代码>变种表=的document.getElementById(ID);
VAR行= table.getElementsByTagName( “TR”);
对于(I = 0;我 //操纵行 ... 代码> PRE> 此第一个例子使用,通过它我们已经为背景颜色定义两个类样式元素: <预的tabindex = “0”> <代码> <风格> .odd {背景颜色:白色;} 。即使{背景色:灰色;} 样式> 代码> PRE> 风格灵活:它可能只是以及其他定义的东西,如每隔一行应以斜体字显示。完整的功能如下所示: <预的tabindex = “0”> 如果(document.getElementsByTagName){ 变种表=的document.getElementById(ID); VAR行= table.getElementsByTagName( “TR”); 对于(I = 0;我 //操纵行 如果(ⅰ%2 == 0){ 行[I机] .className = “偶数”; }其他{ 行[I机] .className = “奇数”; } } } } 代码> PRE> 这里,<代码>%代码>,模运算符,为我们提供了在除法的余数。 上述功能应该从body标签的onload事件被称为: <预的tabindex = “0”> <代码> ... <体的onload = “交替( "thetable")”> <表ID = “thetable”> TABLE> ... 代码> PRE> 其结果可能是这个样子: 东西多一点冒险精神 - 让我们到下一个例子举。相反,只用两个交替的颜色,我想用几个。让我们添加包含所有这些颜色的数组。 由于颜色数量有限,在HTML中定义的名称,我们将切换到十六进制值。得到的颜色将作出三个值组成:红色,绿色和蓝色。当所有三种颜色在最大导通白色实现:<代码> #FFFFFF 代码>。相反,黑色,是<代码>#000000 代码>。 <预的tabindex = “0”> <代码> //各种灰色阴影 VAR =颜色新的Array( "#FFFFFF", "#DDDDDD", "#AAAAAA", "#888888"); 代码> PRE> 该行操纵代码将包含只是一个单一的线,但不是复制和粘贴相同的代码,我们将做一个单独的函数调用: <预的tabindex = “0”> <代码>为(... //操纵行 doMultiple(行[I],i)的; ... 功能doMultiple(行,i)的{ row.style.backgroundColor =颜色[I%colors.length]; } 功能doAlternate(行,i)的{ 如果(ⅰ%2 == 0){ row.className = “偶数”; }其他{ row.className = “奇”; } } 代码> PRE> 在这里,我还添加了实施例1的功能称为<代码> doAlternate 代码>。这使得更容易以不同的方法,使我们可以交替在上述片段观察到的表的行colors.As之间进行切换,有可能为这些行中的CSS类名,或一个HTML标记的特定属性组: <预的tabindex = “0”> <代码>行[I机] .className 行[I] .style.backgroundColor 代码> PRE> 实施例2的结果可能会出现如下所示: 实施例3 最后一个例子示出了其中的颜色取决于行的表上的号码,起始颜色和给定的因素计算出一个非常丰富多彩的变种。 首先,我们需要设置几个变量: VAR步骤= 20; //因素,颜色之间的“距离” VAR下来= TRUE; //方向,如果上升或下降计算//颜色值时代码> PRE> 现在,我们添加一个新的功能,<代码> doGradient 代码>。 <预的tabindex = “0”> bgcolorValue = padHex()+ bgcolor.toString(16) + padHex()+ bgcolor.toString(16)+ “FF”; row.style.backgroundColor = “#” + bgcolorValue; 如果(向下&&(BGCOLOR步骤)> 0){//如果减去,防止底片 BGCOLOR =(BGCOLOR - 步); }否则{BGCOLOR =(BGCOLOR +步骤); 向下= FALSE; }如果(BGCOLOR> 255){//防止过高的值 BGCOLOR =(BGCOLOR - 步); 向下= TRUE; } } 代码> PRE> 由于被计算的颜色,我们需要确保我们不要去超出范围,有效值从0到255的颜色参数不分成RGB值,所以我们需要垫,如果我们走低于16否则,该值将是非法的。如果我们有一个很长的表或大<代码>步骤代码>值,则梯度会变成在另一个方向上。在该功能中,在 在 注意不要使显示器得花花绿绿 - 我们仍然希望确保我们的表格数据的可读性。对于某些颜色组合,它甚至可能需要改变使用类似这样的表格文本的颜色: <预的tabindex = “0”> <代码>如果(颜色 row.style.color = “白色”; }其他{ row.style.color = “黑”; } 代码> PRE> 结论 使用CSS和JavaScript,它很容易增加或提高了代码的可读性,而不必从服务器应用程序重新生成HTML页面。正如我们在这里看到,它也可以在静态HTML页面中添加。在行动中看到这些例子中,下载包含代码的HTML文件。 TAG:行 表 涂改 JavaScript的 颜色 实施例1
函数替代(ID){
... TD> TR>
实施例2
<预的tabindex = “0”> <代码>变种颜色= 255; //起始色(十进制)
函数doGradient(行){
蓝色代码>部分是固定的,其他两个被修改。
的toString code>方法是很方便,当你需要转换的数字 - 十进制到十六进制,在这种情况下。在<代码>的toString 代码>的参数是基数,即。 2二进制,10为小数,和16进制。下面示出了图像如何的表出现在结果在Firefox 1.0,IE6,Mozilla的1.7和Opera 7.5。
以上信息来源于网络,如有侵权,请联系站长删除。