发表于: 2017-06-03 23:27:06
1 1154
今天完成的事情:
1.完成的task1的一部分,先随机取了三个9以内的整数,并且用逻辑非,当他们任意一个相等的时候,就在调用一遍函数random(),直到三个整数互不相等
var num1;
var num2;
var num3;
var box = document.getElementsByClassName("box");
function randomNum() {
//随机生成0-8九个整数
num1 = Math.floor(Math.random() * 9);
num2 = Math.floor(Math.random() * 9);
num3 = Math.floor(Math.random() * 9);
//去除三个数任意相等的情况
if (num1 == num2 || num1 == num3 || num2 == num3) {
randomNum()
}
}
2.然后写start函数,先对九宫格的颜色初始化,因为每一次for循环时都应该重置九宫格颜色,不然都画面会很难看,而且也不符合任务要求,
//遍历box数组,初始背景色
// var box=new Array(9);
for (var i = 0; i < box.length; i++) {
box[i].style.background = "#f3d7ac"
}
3.再开始获取随机颜色,在这里踩了一个坑,就是这个
color[0] = "rgb("+a+","+b+","+c+")";
用的三原色来取色,开始写的是这样的color[0]="rgb(a,b,c)",a,b,c是下面这样定义的,随机取255以内的整数,本以为这样就是时color[0]随机取色,但是死活不显色,后来请师姐来看了,才知道这样写不行,变量不能直接被引号包裹,不然他会默认你是字符串,不能返回被定义的数值,需要这样写才行,color[0] = "rgb("+a+","+b+","+c+")";
//获取随机颜色
var a = Math.floor(Math.random() * 255);
b = Math.floor(Math.random() * 255);
c = Math.floor(Math.random() * 255);
明天的计划:随机变色写好了,剩下的就是设置一个定时器,还有一个停止按钮就可以,应该可以赶在后天demo
遇到的问题:上面已经写过了,对语法还是不熟,感觉JS语法要求很严格,什么大小写,各种冒号,错了一个就会报错,而且这个报错还特别含蓄,只会告诉我未定义,编译器和浏览器太笨了
收获:动手写了还是感觉好多了,不管怎么样,先动手上路再说,看再多书也是不会写的
评论