自己对“用不同颜色显示表格奇偶行的例子”扩充了用不同颜色显示鼠标单击的行

这篇博客展示了如何扩展原有的CSS样式,通过添加自定义的RowSelect属性,利用expression表达式和JavaScript实现表格行被点击时的高亮显示。文章探讨了expression在CSS中的使用,并提出对expression是否只能包含问号表达式的疑问,同时提到了behavior作为可能的替代方案。
摘要由CSDN通过智能技术生成

主要是在原来的css基础上增加了一个自定义的RowSelect属性,这个属性通过expression表达式进行设置,我现在的感觉是expression中必须是一个?表达式,在?表达式中才能写我们想要的javascript方法,等以后有时间了再专门来求证这个疑问。如果是我猜想的这样,哪有什么更好的替代方式吗?这种替代方式就是behavior吗?一切都安排在以后清闲了再研究吧!

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>双色表格CSS实例</title>
<style type="text/css">
.test {
   background-color:red;
}
#DataGrid1 tr {
    background-color: expression(
        this.sectionRowIndex == 0 ? "#FFCCCC" :
        (
            (this.sectionRowIndex % 2 == 0) ? "#FFF0F0" : "#F0F0FF"
        )
    );
    color: expression(this.sectionRowIndex == 0 ? "#FFFFFF" : "");
    font-weight: expression(this.sectionRowIndex == 0 ? "BOLD" : "");
    RowSelect: expression(0==1?"":(
   onclick = function()
            {
                   window.currentRow?window.currentRow.style.backgroundColor=(
                    this.style.backgroundColor != "#69cdff" ? "#69cdff" :
                    (
                        this.sectionRowIndex == 0 ? "#FFCCCC" :
                        (
                            this.sectionRowIndex % 2 == 0 ? "#FFF0F0" : "#F0F0FF"
                        )
                    )
                ):"";
               this.style.backgroundColor="#f3c3f3";
               window.currentRow=this;
                window.stopOut=true;
            }
 )
 );

    TableSelect: expression(
        this.sectionRowIndex == 0 ? "" :
        (
            onmouseover = function()
            {
  window.stopOut=false;
                this.style.backgroundColor =
                (
                    this.style.backgroundColor != "#69cdff" ? "#69cdff" :
                    (
                        this.sectionRowIndex == 0 ? "#FFCCCC" :
                        (
                            this.sectionRowIndex % 2 == 0 ? "#FFF0F0" : "#F0F0FF"
                        )
                    )
                )
            },
            onmouseout = function()
            {
  if(window.stopOut) return;
                this.style.backgroundColor =
                (
                    this.style.backgroundColor != "#69cdff" ? "#69cdff" :
                    (
                        this.sectionRowIndex == 0 ? "#FFCCCC" :
                        (
                            this.sectionRowIndex % 2 == 0 ? "#FFF0F0" : "#F0F0FF"
                        )
                    )
                )
            }
        )
    );

}


#DataGrid1 td {
    background-color:expression(
        this.cellIndex == 0 ?
        (
            this.parentElement.sectionRowIndex == 0 ? "#FFCCCC" : "#DDDDDD"
        )
        : null
    )
}
.FindAreaTable1 {
    font-size: 12px;
    color: #333333;
    text-decoration: none;
    width: 400px;
    cursor: hand;
    background-color: #FFFFFF;
    vertical-align: middle;
    text-align: center;
}
</style>
</head>
<body>
<table cellspacing="1" class="FindAreaTable1" ID="DataGrid1">
  <tr>
    <td>首行首列</td>
    <td>首行</td>
    <td>首行</td>
    <td>首行</td>
    <td>首行</td>
    <td>首行</td>
  </tr>
  <tr>
    <td>行1首列</td>
    <td>行1</td>
    <td>行1</td>
    <td>行1</td>
    <td>行1</td>
    <td>行1</td>
  </tr>
  <tr>
    <td>行2首列</td>
    <td>行2</td>
    <td>行2</td>
    <td>行2</td>
    <td>行2</td>
    <td>行2</td>
  </tr>
  <tr>
    <td>行3首列</td>
    <td>行3</td>
    <td>行3</td>
    <td>行3</td>
    <td>行3</td>
    <td>行3</td>
  </tr>
  <tr>
    <td>行4首列</td>
    <td>行4</td>
    <td>行4</td>
    <td>行4</td>
    <td>行4</td>
    <td>行4</td>
  </tr>
  <tr>
    <td>行5首列</td>
    <td>行5</td>
    <td>行5</td>
    <td>行5</td>
    <td>行5</td>
    <td>行5</td>
  </tr>
</table>
</body>
</html>
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值