我需要2个简单的JavaScript函数来读取和更改div上的div颜色。 我不想使用框架,jQuery任何其他方式,但简单的HTML,CSS,JS。 我写的代码不起作用如下:
随机化颜色
<script>
var colorArray = {yellow, red, blue, purple};
function readColor () {
color = document.getElementById("color");
}
function changeColor (color) {
var randomColor = colorArray[Math.floor(Math.random() * colorArray.length)];
document.getElementById('color').style.backgroundColor = randomColor;
var colors = document.getElementById('color');
colors.style.backgroundColor = color;
}
</script>
<style type = "text/CSS">
<!--
#color {
background-color: yellow;
}
-->
</style>
<div id="color" style="border-color: #eee; border-style: solid; width: 300px; height: 300px; margin-right: auto; margin-left: auto; margin-top: 200px; padding: 50px; background-color: yellow;" onChange = "readColor ();">
Aici are loc lupta
</div>
<div style="text-align: center; margin-top: 20px;">
<input type="button" name="Change color" value="Change Color" onClick = "changeColor ()">
</div>
答案 0 :(得分:1)
我相信只是改变
var colorArray = {yellow, red, blue, purple};
到
var colorArray = ['yellow', 'red', 'blue', 'purple'];
应该这样做..
演示答案 1 :(得分:0)
我认为问题在于你没有在onclick上传递颜色
如果不读:
<input type="button"
name="Change color"
value="Change Color"
onClick = "changeColor (color)">
答案 2 :(得分:0)
您创建colorArray
作为对象,但您将其用作数组。
尝试将其声明为数组:
var colorArray = new Array("yellow", "red", "blue", "purple");
或者:
var colorArray = ["yellow", "red", "blue", "purple"];