把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 οnmοuseοver="this.style.backgroundColor:#eeeeee" οnmοuseοut="this.style.backgroundColor:#ffffff"><td>1</td></tr>
<tr οnmοuseοver="this.style.backgroundColor:#eeeeee" οnmοuseοut="this.style.backgroundColor:#ffffff"><td>1</td></tr>
<tr οnmοuseοver="this.style.backgroundColor:#eeeeee" οnmοuseοut="this.style.backgroundColor:#ffffff"><td>1</td></tr>
</table>

 

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

 

引用

 

<style>
tr{background-color:expression_r(οnmοuseοver=function() {this.style.backgroundColor="#eeeeee"}, οnmοuseοut=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怎样实现这个目的。

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2006/12/29/2912453.html  ,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值