javascript - 做一个随机出现颜色的九宫格,如何清除setInterval出现的随机颜色,又不影响下一次执行呢
怪我咯
怪我咯 2017-04-11 11:24:15
[JavaScript讨论组]

这是演示地址:http://vvhl.me/project/test2/index.html
我想做一个九宫格,随机出现格子,随机出现红绿蓝三种颜色。但是我现在遇到了一个难题,这些颜色随机出现之后并不会消失,同个位置出现第二种颜色的时候直接覆盖上去了,请问大家知道怎样让出现后的颜色在下一个颜色出现的时候就消失吗?我试了很多种方法,但是都不成功,不知道问题出在哪里。。下面是Js部分

$(function(){
    function radom(){
        var arr = document.getElementsByTagName("li"); //获得一个数组
        var l = arr.length; //获取到li的全部个数
        function radomNum(arr){
            return arr[Math.floor(Math.random() * l)];
        }
        var radomList = radomNum(arr);  //返回的随机的Li元素
        var c = ["red","green","blue"];
        var cl = c.length;
        function color(c){
            return c[Math.floor(Math.random() * cl)];
        }
        var radomColor = color(c); //返回的随机颜色
        radomList.style.background = radomColor;
    }
    setInterval(function(){  //创建一个定时器
        radom();
    },1000)
})

HTML部分:


    

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
大家讲道理

再換顏色前遍歷清空所有顏色就可以了

var arr = document.getElementsByTagName("li"); //获得一个数组

// 把所有格子顏色換成白色
for(var i = 0, len = arr.length ; i < len ; i++) {
    arr[i].style.background = "#fff"
}

演示

jsFiddle

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号