1.例:让表格的单元格变色。
<title>表格的单元格随鼠标变色</title>
<style type="text/css">
table{
color:#565;
font:12px Arial, Helvetica, sans-serif;
}
td{
background:#dfc;
border-bottom:2px solid #b3de94;
border-top:3px solid #fff;
padding:9px;
}
td:hover, td.hover{
background-color:#595;
color:#fff;}
</style>
</head>
<body>
<table sunmary="book list">
<caption>Book List</caption>
<tr>
<td>Title</td>
<td>ID</td>
<td>Price</td>
<td>Country</td>
<td>Download</td>
</tr>
<tr>
<td>tom</td>
<td>52658714</td>
<td>Chia</td>
<td>$234</td>
<td>Download</td>
</tr>
<tr>
<td>tom</td>
<td>52658714</td>
<td>Chia</td>
<td>$234</td>
<td>Download</td>
</tr>
<tr>
<td>tom</td>
<td>52658714</td>
<td>Chia</td>
<td>$234</td>
<td>Download</td>
</tr>
<tr>
<td>tom</td>
<td>52658714</td>
<td>Chia</td>
<td>$234</td>
<td>Download</td>
</tr>
<tr>
<td>tom</td>
<td>52658714</td>
<td>Chia</td>
<td>$234</td>
<td>Download</td>
</tr>
<tr>
<td>tom</td>
<td>52658714</td>
<td>Chia</td>
<td>$234</td>
<td>Download</td>
</tr>
</table>
<script language="javascript">
var cells=document.getElementsByTagName('td');//row是一个行的数组,包含当前页中所有的行。
for(var i=0;i<cells.length;i++)
{
cells[i].onmouseover=function()
{
this.className='hover';
//上变色
for(var j=0;j<cells.length;j++)
{
if(cells[j]==this)
{
cells[j%5].className='hover';
//左变色
cells[j-j%5].className='hover';
}
}
}
cells[i].onmouseout=function()
{
this.className='';
for(var j=0;j<cells.length;j++)
{
if(cells[j]==this)
{
//上恢复
cells[j%5].className='';
//左恢复
cells[j-j%5].className='';
}
}
}
}
</script>
</body>
</html>
效果图如下:

2.例:让表格的行变色(在IE6浏览器中代码)。
<title>无标题文档</title>
<style type="text/css">
table{
color:#565;
font:Arial, Helvetica, sans-serif 12px;
}
td{/*td优先级高,将tr盖上*/
border-bottom:2px solid#b3de94;
border-top:3px solid #fff;
padding:9px;
}
tr{
background-color:#dfc;
}
tr:hover,tr.hover{
background-color:#595;
color:#fff;
}
</style>
</head>
<body>
<table summary="book list"><!--summary :汇总,摘要-->
<caption>Book List</caption>
<tr>
<td>Title</td>
<td>ID</td>
<td>Comtry</td>
<td>Price</td>
<td>Download</td>
</tr>
<tr class="hover">
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
</table>
<script language="javascript">
var rows=document.getElementsByTagName('tr');/*rows是一个行的数组,包含当前页中所有的行*/
for(var i=0;i<rows.length;i++)
{
rows[i].onmouseover=function(){
this.className='hover';
}
rows[i].onmouseout=function(){
this.className='';
}
}
</script>
</body>
</html>
效果图如下:

3.例:让表格的行变色(在火狐浏览器中代码)。
<style type="text/css">
table{
color:#565;
font:Arial, Helvetica, sans-serif 12px;
}
td{/*td优先级高,将tr盖上*/
border-bottom:2px solid#b3de94;
border-top:3px solid #fff;
padding:9px;
}
tr{
background-color:#dfc;
}
tr:hover{/*ie6不支持*/
background-color:#595;
color:#fff;
}
</style>
</head>
<body>
<table summary="book list"><!--summary :汇总,摘要-->
<caption>Book List</caption>
<tr>
<td>Title</td>
<td>ID</td>
<td>Comtry</td>
<td>Price</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
<tr>
<td>Tom</td>
<td>45621</td>
<td>china</td>
<td>$423</td>
<td>Download</td>
</tr>
</table>
</body>
</html>
效果图如下:

注意:
(1)在IE6中,不支持邻选择器,在IE7中已经支持了。
(2)在实际网页中,这种隔行变色的效果通常是配合服务器动态生成的,在服务器上读取数据的时候做判断,读第一个数据的时候输出“<tr>”,读第二个数据的时候输出“<tr class="even">”,然后依次循环。
浙公网安备 33010602011771号