请老师查看,代码是否可以优化
来源:3-12 编程练习
慕斯9523191
2020-08-24 21:38:14
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>onchange()</title>
<style type="text/css">
#div{
width:300px;
height:300px;
border:2px solid gray;
margin:100px 0 0 200px;
}
</style>
<script type="text/javascript">
//补充代码
window.onload=function(){
var color=document.getElementById("color");
var div=document.getElementById("div");
color.onchange=function(){
var colorValue=this.value
if(colorValue==0){div.style.backgroundColor="#fff";div.innerHTML ="我没有任何变化";
}else if(colorValue=="yellow"){
div.style.backgroundColor="yellow";
div.innerHTML ="我的背景变成了yellow色";
}else if(colorValue=="orange"){
div.style.backgroundColor="yellow";
div.innerHTML ="我的背景变成了yellow色";
}else if(colorValue=="pink"){
div.style.backgroundColor="pink";
div.innerHTML ="我的背景变成了pink色";
}else if(colorValue=="purple"){
div.style.backgroundColor="purple";
div.innerHTML ="我的背景变成了purple色";
}else return;
}
}
</script>
</head>
<body>
<div>
<span>请选择您喜欢的颜色:</span>
<select id="color">
<option value="0">请选择</option>
<option value="yellow">黄色</option>
<option value="orange">橘色</option>
<option value="pink">粉色</option>
<option value="purple">紫色</option>
</select>
</div>
<div id="div">我是div</div>
</body>
</html>
1回答
好帮手慕夭夭
2020-08-25
同学你好,代码可以如下优化:
因为获取的vlue值就是对应的颜色,所以不需要每一个都判断。if判断中,当条件可以转换为true,则执行,如果获取的值转换为布尔类型为false,则执行else。另外,注意变量与字符串进行拼接要使用加号。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题