如何以随机间隔更改多个<span>的backgroundColor?</span>

时间:2011-05-31 00:56:10

标签: javascript css background-color html

所以我有这样的多个跨度:

<span unselectable="on" 
    onmouseover="this.style.backgroundColor='#ffcc99';"
    onmouseout="this.style.backgroundColor='#a8c0f0';"
    onclick="javascript stuff" 
    style="-webkit-user-select:none;
        -moz-user-select:none;
        display: inline-block; 
        cursor: pointer;
        font-family: arial; 
        background: #a8c0f0;
        padding-top:9px;
        padding-bottom:9px;
        padding-right:9px;
        padding-left:9px;">
    My Span
</span>

如果愿意,我希望它们闪烁/闪烁,每次改变背景颜色从正常的颜色状态到另一种颜色,我将定义约0.5至1秒,然后回到正常颜色。

但是我希望他们都能随机开火,所以看起来不像是模式。只是偶尔懒惰的闪烁。比如每8-15秒一次。

我注意到“onload”不适用于SPAN,因此我不确定如何操作。

1 个答案:

答案 0 :(得分:3)

  • 获取对所有span元素的引用。
  • 使用style.backgroundColor存储原始背景颜色。
  • 生成随机秒数。
  • setInterval()间隔使用1000
  • 每个间隔,递减随机秒数。为0时,更改背景颜色。使用新的setTimeout()恢复原始颜色。
  • 生成一个新的随机秒数并重复。