4-12练习 简洁写法

来源:4-12 编程练习

ExcelYourself

2021-12-19 17:00:25

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Onchange Event</title>
    <style>
      #div {
        width: 300px;
        height: 300px;
        border: 2px solid gray;
        margin: 100px 0 0 200px;
      }
    </style>
    <script>
      window.onload = function () {
        var options = document.getElementsByTagName("option");
        var div = document.getElementById("div");
        var select = document.getElementById("color");
        var colorTranslation = {
          yellow: "黃",
          orange: "橘",
          pink: "粉紅",
          purple: "紫",
        };
        select.onchange = function () {
          for (var i in options) {
            if (options[i].value != 0) {
              if (this.value == options[i].value) {
                div.style.backgroundColor = options[i].value;
                div.innerText =
                  "我的背景颜色变成了" +
                  colorTranslation[options[i].value] +
                  "色";
              }
            } else {
              div.style.backgroundColor = "white";
              div.innerText = "我没有发生任何变化";
            }
          }
        };
      };
    </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回答

好帮手慕然然

2021-12-19

同学你好,代码实现没问题,老师给同学提供一个更简洁的实现方式,同学可以参考一下,如图

https://img.mukewang.com/climg/61befb47097cc0f713610853.jpg

祝学习愉快!

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程