首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切换机箱,直接切换到终端机箱

切换机箱,直接切换到终端机箱
EN

Stack Overflow用户
提问于 2020-05-14 17:42:39
回答 3查看 34关注 0票数 0

当我运行这段代码时,它会在整个切换过程中运行到最终用例,即使之前的某个用例是匹配的。我知道这段代码很难看,但在我添加另一个案例之前它还能工作,现在它不能工作了。

代码语言:javascript
复制
    function setColours() {
        var operatorName = document.getElementById("operator-header").innerHTML; 
        console.log(operatorName);

        switch(operatorName) {
                case "Great Western Railway":
                    document.getElementById("section2").style.backgroundColor = "darkgreen";
                    document.getElementById("section2").style.color = "white";
                case "c2c":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "purple";
                case "Arriva Trains Wales":
                    document.getElementById("section2").style.backgroundColor = "rgb(0,190,206)";
                    document.getElementById("section2").style.color = "white";
                case "Chiltern Railways":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "rgb(45,106,140)";
                    document.getElementById("horizontal-line").style.borderTop = "1px solid #53c2f0"
                case "CrossCountry":
                    document.getElementById("section2").style.backgroundColor = "rgb(136,0,56)";
                    document.getElementById("section2").style.color = "white";
                case "East Midlands Trains":
                    document.getElementById("section2").style.backgroundColor = "rgb(17,114,195)";
                    document.getElementById("section2").style.color = "rgb(246,198,42)";
                    document.getElementById("horizontal-line").style.border = "1px solid #cc1e05";
                case "Great Western Railway":
                    document.getElementById("section2").style.backgroundColor = "darkgreen";
                    document.getElementById("section2").style.color = "white";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                case "Grand Central":
                    document.getElementById("section2").style.backgroundColor = "black";
                    document.getElementById("section2").style.color = "white";
                    document.getElementById("horizontal-line").style.border = "1px solid #fe8238";
                case "Greater Anglia":
                    document.getElementById("section2").style.backgroundColor = "rgb(204, 204, 204)";
                    document.getElementById("section2").style.color = "rgb(204,33,29)";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                case "Heathrow Express":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "rgb(109,56,122)";
                    document.getElementById("horizontal-line").style.border = "1px solid #d4d4d4";
                case "West Midlands Trains":
                    document.getElementById("section2").style.backgroundColor = "rgb(90,30,79)";
                    document.getElementById("section2").style.color = "rgb(240,140,38)";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                case "London Overground":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "rgb(240,140,38)";
                    document.getElementById("horizontal-line").style.border = "1px solid #1172c3";
                case "Merseyrail":
                    document.getElementById("section2").style.backgroundColor = "rgb(250,203,51)";
                    document.getElementById("section2").style.color = "white";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff"; 

运行此命令时,控制台将输出正确的运算符,但仍缺省为结束大小写

EN

回答 3

Stack Overflow用户

发布于 2020-05-14 20:10:35

你需要为每个案例添加break,如果没有人选择,也应该有default案例。

在您的代码中,将应用最后一种情况。

代码语言:javascript
复制
function setColours() {
        var operatorName = document.getElementById("operator-header").innerHTML; 
        console.log(operatorName);

        switch(operatorName) {
                case "Great Western Railway":
                    document.getElementById("section2").style.backgroundColor = "darkgreen";
                    document.getElementById("section2").style.color = "white";
                    break;
                case "c2c":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "purple";
                    break;
                case "Arriva Trains Wales":
                    document.getElementById("section2").style.backgroundColor = "rgb(0,190,206)";
                    document.getElementById("section2").style.color = "white";
                    break;
                case "Chiltern Railways":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "rgb(45,106,140)";
                    document.getElementById("horizontal-line").style.borderTop = "1px solid #53c2f0"
                      break;
                case "CrossCountry":
                    document.getElementById("section2").style.backgroundColor = "rgb(136,0,56)";
                    document.getElementById("section2").style.color = "white";
                      break;
                case "East Midlands Trains":
                    document.getElementById("section2").style.backgroundColor = "rgb(17,114,195)";
                    document.getElementById("section2").style.color = "rgb(246,198,42)";
                    document.getElementById("horizontal-line").style.border = "1px solid #cc1e05";
                case "Great Western Railway":
                    document.getElementById("section2").style.backgroundColor = "darkgreen";
                    document.getElementById("section2").style.color = "white";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                case "Grand Central":
                    document.getElementById("section2").style.backgroundColor = "black";
                    document.getElementById("section2").style.color = "white";
                    document.getElementById("horizontal-line").style.border = "1px solid #fe8238";
                case "Greater Anglia":
                    document.getElementById("section2").style.backgroundColor = "rgb(204, 204, 204)";
                    document.getElementById("section2").style.color = "rgb(204,33,29)";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                case "Heathrow Express":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "rgb(109,56,122)";
                    document.getElementById("horizontal-line").style.border = "1px solid #d4d4d4";
                case "West Midlands Trains":
                    document.getElementById("section2").style.backgroundColor = "rgb(90,30,79)";
                    document.getElementById("section2").style.color = "rgb(240,140,38)";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                case "London Overground":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "rgb(240,140,38)";
                    document.getElementById("horizontal-line").style.border = "1px solid #1172c3";
                case "Merseyrail":
                    document.getElementById("section2").style.backgroundColor = "rgb(250,203,51)";
                    document.getElementById("section2").style.color = "white";
                    document.getElementById("horizontal-line").style.border = "1px solid #ffffff";
                      break;
                 default:
                    //if no case select

票数 1
EN

Stack Overflow用户

发布于 2020-05-14 17:53:16

在该案例的末尾添加“break;”。

例如:

代码语言:javascript
复制
switch(operatorName) {
    case "Great Western Railway": doA(); break;
    case "c2c": doB(); break;
    case "Arriva Trains Wales": doC(); break;
}
票数 0
EN

Stack Overflow用户

发布于 2020-05-14 19:35:04

尝试在每个新的事例行之前添加一个分隔符,例如

代码语言:javascript
复制
     switch(operatorName) {
                case "Great Western Railway":
                    document.getElementById("section2").style.backgroundColor = "darkgreen";
                    document.getElementById("section2").style.color = "white";
break;
                case "c2c":
                    document.getElementById("section2").style.backgroundColor = "white";
                    document.getElementById("section2").style.color = "purple";
break;

中断用于结束case块并开始一个新的块,它将它们( case块)分开,以便计算机可以单独识别每个块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61794155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档