如何在js里面给body里面设背景色

JavaScript06

如何在js里面给body里面设背景色,第1张

1、实现获得rgb颜色的方法代码 。

2、获得到格式如下: rgb(225, 22, 23)然后进行拆分的方法代码。

3、把 (225,22,23)字符串进行拆分的方法代码。

4、最后的组合的方法代码。

5、获得十六进制颜色js方法代码。

6、获得十六进制颜色css样式代码。

其实渐变的实现归根结底都是css(样式)来控制,所以我目前想到的有2种:

所有代码直接在JS里面写:

var test = document.getelementById(''test)

test .style.backgroundImage='linear-gradient(120deg, #155799, #159957)'

PS:这儿的backgroundImage的‘i’一定要大写,并且一定要这么写,不能写成和长沙市里面的background-image一样,JS不识别的。

2.在css里面写好之后,通过js给element添加class来新增样式:

在样式表定义好样式     

css:

.jianbian{

background-image: linear-gradient(120deg, #155799, #159957)

然后通过js给元素添加class

js:

var test = document.getelementById(''test)

test.className = 'jianbian'

大概就这样了,不过你还需要考虑一下不同浏览器的兼容性,关于渐变的写法。

-webket-/-moz-之类的

创建三个类名,三个类名分别给上三个背景颜色,如:

.bgColor0{background-color:#158AEA}

.bgColor1{background-color:#996633}

.bgColor2{background-color:#66FF00}

获取012三个随机数前面添加字符串'bgColor'就得到随机的类名,然后给相应的元素添加得到的随机类名就行了。

而要获取012三个随机数就用Math.floor(Math.random()*3)获取。

不过你要求背景色不能重复,那么就把三个类名放进一个数组里。已经使用的类名就用”数组名.shift“把它从数组中弹出。然后剩下的两个类名就要获取01两个随机数,就用Math.floor(Math.random()*2)获取0和1其中一个数。

剩下的你知道该怎么做了。