qq_27520301
qq_27520301
2017-11-05 10:55
采纳率: 0%
浏览 908

小白问题急求!生成随机颜色的正方形,代码如下,修改要求:新生成的颜色不能与上一个颜色重复

<!DOCTYPE html>



randomColor #square{ background-color: red; margin: auto; height: 200px; width: 200px; }


var colors = ['red','blue','yellow','green','black','purple']; function setColor(){ var n =0; var m = Math.floor(Math.random()*6); if (m == n){ setColor(); } else{ document.getElementById('square').style.backgroundColor = colors[m]; document.getElementById('para').innerHTML = colors[m]; } } function control(){ var button = document.getElementById("button"); if (button.value =="stop"){ clearInterval(change); button.value = "go on"; } else{ change = setInterval(setColor,500); button.value ="stop"; } }



  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • caozhy
                            var n =0; //写在外面
    function setColor(){
    
    var m = n;
    while (m == n) m = Math.floor(Math.random()*6);
    n = m;
            document.getElementById('square').style.backgroundColor = colors[m];
            document.getElementById('para').innerHTML = colors[m];
    
          }
        }
    
    点赞 评论
  • JonathanYan
    JonathanYan 2017-11-05 13:45

    可以建立一个数组,表示每个颜色是否用过,取某一颜色的时候标志该数组的对应位置,取新颜色时查看是否已经标志过,标志过则重新选。

    点赞 评论
  • Mr_nuan
    Mr_nuan 2017-11-05 15:14
    点赞 评论
  • chenxiansheng888
    狗子猴子驴子 2017-11-06 01:15

    写个小的数组 先存储 生成下一个颜色时再判断

    点赞 评论

相关推荐