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">”,然后依次循环。

posted on 2011-10-14 09:01  雨馨  阅读(491)  评论(0)    收藏  举报