[转]Table交替行变色 鼠标经过变色 单击变色

最近做项目用到Repeater,没有好的样式只能套一个Table来设置交替行颜色、鼠标经过颜色、单击颜色,网上艘了一下资料整理了一下,具体的效果如下,



  前台的Html代码如下:

<%@ Page Title="" Language="C#" MasterPageFile="~/SystemBase/MainMasterPage.master"
    AutoEventWireup="true" CodeFile="Spreater.aspx.cs" Inherits="Spreater" %>  
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <script src="App_Js/JSCommon.js" type="text/javascript">
    </script>
    <div style=" 800px"> 
            <ContentTemplate>
                <asp:Repeater ID="Rep" runat="server">
                    <HeaderTemplate>
                        <table id="Tab" class="Rep_tab">
                            <tr>
                                <th style=" 120px">组编号</th>
                                <th style=" 120px">组名称</th>
                                <th style=" 100px">组上级编号</th>
                                <th style=" 120px">序号</th>
                                <th style=" 80px">层次</th>
                                <th style=" 160px">子组数据</th>
                                <th style=" 160px">标志</th>
                            </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td><%#DataBinder.Eval(Container.DataItem, "GroupID")%></td>
                            <td><%#DataBinder.Eval(Container.DataItem, "G_CName")%></td>
                            <td><%#DataBinder.Eval(Container.DataItem, "G_ParentID")%></td>
                            <td><%#DataBinder.Eval(Container.DataItem, "G_ShowOrder")%></td>
                            <td><%#DataBinder.Eval(Container.DataItem, "G_Level")%></td>
                            <td><%#DataBinder.Eval(Container.DataItem, "G_ChildCount")%></td>
                            <td> <%#DataBinder.Eval(Container.DataItem, "G_Delete")%></td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                    </table>
                    </FooterTemplate>
                </asp:Repeater> 
                </div>
                </div>
            </ContentTemplate> 
    </div>
    <script type="text/javascript" language="javascript">
        window.onload = SetTableColor("Tab");
    </script>
</asp:Content>
 

 

  JavaScript代码如下:

  代码
function SetTableColor(TableID) {
    var clickClass = "";        //点击样式名
    var moveClass = "";         //鼠标经过样式名
    var clickTR = null;         //点击的行
    var moveTR = null;          //鼠标经过行
    var Ptr = document.getElementById(TableID).getElementsByTagName("tr");
    for (i = 1; i < Ptr.length + 1; i++) {
        Ptr[i - 1].className = (i % 2 > 0) ? "Rep_Tab_EvenTr" : "Rep_Tab_OddTr";
    }
    //设置鼠标的动作事件
    for (var i = 1; i < Ptr.length; i++) {
        var Owner = Ptr[i].item;
        //鼠标经过事件
        Ptr[i].onmouseover = function Move() {
            if (clickTR != this) {
                if (moveTR != this) {
                    moveClass = this.className;
                    moveTR = this;
                    this.className = "Rep_Tr_Move";
                }
            }
        }
        //鼠标离开事件
        Ptr[i].onmouseout = function Out() {
            if (clickTR != this) {
                moveTR = null;
                this.className = moveClass;
            }
        }
        //鼠标单击事件
        Ptr[i].onclick = function Ck() {
            if (clickTR != this) {
                if (clickTR) {
                    clickTR.className = clickClass;
                }
                clickTR = this;
                clickClass = moveClass;
            }
            this.className = "Rep_Tr_Click";
        }
    }
}  
  CSS样式代码如下:

  代码

/*-----------------Repeater 控件内部Table样式定义-----------------*/
/* Repeater内部Table的样式 */
.Rep_tab
{
    width: 100%;
    margin: 0px auto;
    font: Georgia 11px;
    font-size: 12px;
    font-family: Tahoma, Arial, Helvetica, Sans-serif, "宋体";
    color: #333333;
    text-align: center;
    vertical-align:middle;
    border-collapse: collapse; /*细线表格代码*/
    
}
/* Repeater内部Table的td样式 */
.Rep_tab td
{
    border:1px solid #4d9ab0; /*细线表格线条颜色*/
    height: 25px;
}
/* Repeater内部Table的caption样式 */
.Rep_tab caption
{
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    margin: 0 auto;
}
/* Repeater内部Table的TR的奇数行样式 */
.Rep_Tab_OddTr
{
    background-color: #f8fbfc;
    color: #000000;
    height: 25px;
     
}
/* Repeater内部Table的TR的偶数行样式 */
.Rep_Tab_EvenTr
{
    background-color: #e5f1f4;
    color: #000000;
    height: 25px;
}
.Rep_Tab_HeaderTr
{
    background-color: #ffffee;
    color: #000000;
}
/*鼠标经过的颜色*/
.Rep_Tr_Move
{
    background-color: #ecfbd4;
    color: #000000;
    height: 25px;
}
/* 鼠标点击的颜色*/
.Rep_Tr_Click
{
    background-color: #bce774;
    color: #333333;
    height: 25px;
}
  注意:

  在界面内添加JS和CSS的引用,记得是在你的Table的后面,添加如下代码:

  <script type="text/javascript" language="javascript">
      window.onload = SetTableColor("Tab");
  </script>

原文地址:http://blog.csdn.net/ououou123456789/article/details/5940791

原文地址:https://www.cnblogs.com/qq1223558/p/3101757.html