如何更改多个<SPAN>'s background随机间隔的颜色

How can I change multiple <SPAN> 's backgroundColor at random intervals?

本文关键字:随机 background 颜色 gt 何更改 lt SPAN      更新时间:2023-09-26

所以我有多个跨度,如下所示:

<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,所以我不确定该怎么做。

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