所以,我知道这可能是一个容易解决的问题,但无论如何......
我试图将其改为可以更改网页背景颜色的位置,如下所示:
red > yellow > green > blue > purple > pink > brown > red
点击here,查看我尝试为我的网页做的网页演示。
我想我可以在body元素上使用一些JavaScript:
<html>
<body id="body" bgcolor="#FFFFFF">
<script>
var body = document.getElementById('body'); /* Get
the element with the id of 'body' */
/* I need some javascript to make the 'hex'
variable change accordingly, then call the setColor() with
the parameter as a string for the hex code to change the
background color */
function setColor(hex) {
body.setAttribute("bgcolor", hex); /* Set the
attribute bgcolor to the counter variable */
}
</script>
</body>
</html>
&#13;
答案 0 :(得分:3)
您不需要使用JavaScript来实现此效果。使用CSS动画,您可以创建自己的时髦背景。
.background
获取一个名为animation的属性,其名称(在本例中为bg-animation
)通过各种颜色循环(并淡化)。您可以在@keyframes
中指定动画本身。动画时间设置为10秒,或10s
,可以是任何内容。
详细了解animation
at MDN。
.background {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
animation: bg-animation 10s infinite;
}
@-webkit-keyframes bg-animation {
0% {
background-color: red;
}
15% {
background-color: yellow;
}
30% {
background-color: green;
}
45% {
background-color: blue;
}
60% {
background-color: purple;
}
75% {
background-color: pink;
}
90% {
background-color: brown;
}
100% {
background-color: red;
}
}
@keyframes bg-animation {
0% {
background-color: red;
}
15% {
background-color: yellow;
}
30% {
background-color: green;
}
45% {
background-color: blue;
}
60% {
background-color: purple;
}
75% {
background-color: pink;
}
90% {
background-color: brown;
}
100% {
background-color: red;
}
}
&#13;
<div class="background"></div>
&#13;
答案 1 :(得分:1)
使用setInterval
方法,在回调中随机生成颜色并更新背景。您可以使用CSS transition属性更改颜色时提供转换。可以使用Math.random
,Math.floor
和Number#toString
方法随机生成颜色代码。
如果您想在颜色代码数组之间进行更改,请使用带有计数器变量的数组。
setInterval(function() {
document.body.style.backgroundColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
}, 2000)
&#13;
body {
background:red;
-webkit-transition: background-color 2000ms linear;
-moz-transition: background-color 2000ms linear;
-o-transition: background-color 2000ms linear;
-ms-transition: background-color 2000ms linear;
transition: background-color 2000ms linear;
}
&#13;