zoukankan      html  css  js  c++  java
  • 把JavaScript代码写在css里

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

    <script>   
        
    //定义table的样式.cellSpacing,cellPadding   
    //borderColorLight   ,borderColorDark.   
        
    function   table3d(obj)   {   
    obj.border=1;   
    obj.cellSpacing=0;   
    obj.cellPadding=0;   
    obj.borderColorLight="#FFFFFF";   
    obj.borderColorDark="#FFFFFF";   
    }   
        
    //定义td的样式.   bgColor   
    //borderColorLight,   borderColorDark   
        
    function   td3d(obj)   {   
    obj.bgColor="#B7B7B7";   
    obj.borderColorLight="#000000";   
    obj.borderColorDark="#EEEEEE";   
    }   
    </script>   
        
    <style>   
    <!--定义样式-->   
    .table3d{baobao:expression_r(table3d(this))}   
    .td3d{baobao:expression_r(td3d(this))}   
    </style>
    <table width="200" border="0" class="td3d">
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>
    expression这个命令上面,它可以让用户编写自定义的style class当然也就可以结合javascript来动态设定style class的样式。再举个例子,比如:
    这里我们有一个表格,当mouse over在每一个行上的时候,行的背景色就变成灰色,移出来的时候就变回白色。一般的办法是像下面这样处理。


    引用

    <table border="1">
       <tr onmouseover="this.style.backgroundColor:#eeeeee" onmouseout="this.style.backgroundColor:#ffffff"><td>1</td></tr>
    <tr onmouseover="this.style.backgroundColor:#eeeeee" onmouseout="this.style.backgroundColor:#ffffff"><td>1</td></tr>
    <tr onmouseover="this.style.backgroundColor:#eeeeee" onmouseout="this.style.backgroundColor:#ffffff"><td>1</td></tr>
    </table>

    效果是实现了,但如果表格的行数太多的话,你就不得不COPY AND PASTE了。虽然都是重复性动作不碍事,但其实是一个无可耐何的办法。来,这次我们用expression来改进一去。把代码改一下,像这样。

    引用

    <style>
    tr{background-color:expression_r(onmouseover=function() {this.style.backgroundColor="#eeeeee"}, onmouseout=function(){this.style.backgroundColor="#FFFFFF"})}
    </style>
    <table border="1">
    <tr><td>1</td></tr>
    <tr><td>1</td></tr>
    <tr><td>1</td></tr>
    <tr><td>1</td></tr>
    </table>

    放在IE上面跑看看,效果是一样的喔,这样就省了不少时间来copy and paste了。

    要注意的是,如果动态给属性赋值的话,这些语句要通过一个函数来包装。另外,如果只是想让那些拥有这个style class的元素执行一些javascript的话,这里的background-color可以是自定义的属性。

    好,下面再来一个实例,看看如何动态设定元素的样式。

    在一个表格中经常用到的就是把偶数行与奇数行区分出来,以帮助用户易于查看这些数据。好吧,来看看用expression怎样实现这个目的。

  • 相关阅读:
    22.抽象类
    21.多态
    20.修饰符
    19.继承
    day46---MySQL数据库进阶(一)
    day45---mysql数据库基本操作初阶(二)
    day45---计算机安全项目(癞蛤蟆)
    day44---数据库初阶(一)
    day44---windows下安装MySQL-5.6.37
    day42---几种network IO模型
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912453.html
Copyright © 2011-2022 走看看