Одноразовые CSS-выражения - PullRequest
0 голосов
/ 24 февраля 2012

Это 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 ]

1 голос
/ 24 февраля 2012

Изменить <style> на <script>

<script type="text/javascript">
   function altBgColor(elem) {
         elem.style.background = new Date().getHours()%2 ? "#B8D4FF" : "#F08A00";
   }
</script>
0 голосов
/ 24 февраля 2012

Что вы ожидали случиться?

При первом вызове вашего динамического выражения перезаписывается свойство фона, содержащее это выражение.

0 голосов
/ 24 февраля 2012

«Для сценариев динамическое свойство может быть любым допустимым оператором JScript или Microsoft Visual Basic Scripting Edition (VBScript)». говорит MSDN . JScript не является JavaScript. Кроме того, хорошо бы попытаться держаться подальше от CSS-выражений:)

...