<span id="color">本次选择的颜色是:</span><button onclick="selColor">选择颜色</button> <script> function selColor(){ var color=Array("红色","黄色","蓝色","绿色","橙色","青色","紫色"); var num=Math.ceil(Math.random()*7)-1; document.getElementById("color").innerHTML=color[num]; } </script>这段代码为什么起不到选择颜色的效果,怎么改进
时间: 2023-07-03 16:30:17 浏览: 169
这段代码的问题在于按钮的`onclick`事件没有正确绑定到`selColor()`函数上。应该将`onclick`的属性值改为`onclick="selColor()"`。
同时,`selColor()`函数中的随机数生成代码也需要改进。`Math.ceil()`方法会将浮点数向上取整,而不是四舍五入。因此,需要使用`Math.round()`方法来进行四舍五入。另外,数组的下标是从0开始的,因此随机数的范围应该是0到6。
最终代码如下:
```
<span id="color">本次选择的颜色是:</span>
<button onclick="selColor()">选择颜色</button>
<script>
function selColor() {
var color = ["红色", "黄色", "蓝色", "绿色", "橙色", "青色", "紫色"];
var num = Math.round(Math.random() * 6);
document.getElementById("color").innerHTML = "本次选择的颜色是:" + color[num];
}
</script>
```
阅读全文