一次性CSS表达式

时间:2012-02-24 12:28:34

标签: javascript css css-expressions

此CSS表达式

P {
   background-color: expression((new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00");
} 

可以被召唤数千次

但这种方法意味着

<style>
P {
   background-color:expression(altBgColor(this));
}
</style>
<script type="text/javascript">
function altBgColor(elem) {
    elem.style.background = new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00";
}
</script>

意味着它不会。为什么呢?

3 个答案:

答案 0 :(得分:1)

<style>更改为<script>

<script type="text/javascript">
   function altBgColor(elem) {
         elem.style.background = new Date().getHours()%2 ? "#B8D4FF" : "#F08A00";
   }
</script>

答案 1 :(得分:0)

“对于脚本,动态属性可以是任何合法的JScript或Microsoft Visual Basic Sc​​ripting Edition(VBScript)语句。” MSDN说。 JScript不是JavaScript。另外,一件好事就是试图完全远离CSS表达式:)

答案 2 :(得分:0)

您期望发生什么?

第一次调用动态表达式时,会覆盖包含该表达式的背景属性。