简化jQuery Switch Case

时间:2015-02-14 04:27:09

标签: javascript jquery switch-statement

我正在使用JQVMap,我的代码根据您点击的状态而定,它会在地图下方的单个div中显示有关该状态的信息。但是,我觉得有一种简单,更有效的方法来设置此代码,因此不会重复,特别是一旦我开始添加更多状态。有吗?

switch(code){
        case"tx":
            $('#info-children').children(':not(#info-tx)').hide("slow");
            $('#info-children').children('#info-tx').show("slow");
            break;
        case"il":
            $('#info-children').children(':not(#info-il)').hide("slow");
            $('#info-children').children('#info-il').show("slow");
            break;
        case"fl":
            $('#info-children').children(':not(#info-fl)').hide("slow");
            $('#info-children').children('#info-fl').show("slow");
            break;
        case"ga":
            $('#info-children').children(':not(#info-ga)').hide("slow");
            $('#info-children').children('#info-ga').show("slow");
            break;
        case"pa":
            $('#info-children').children(':not(#info-pa)').hide("slow");
            $('#info-children').children('#info-pa').show("slow");
            break;
        default:
            $('#state-name').html(region);
            $('#info-children').children(':not(#info-uhoh)').hide("slow");
            $('#info-children').children('#info-uhoh').show("slow");
    }

1 个答案:

答案 0 :(得分:0)

我认为你可以把它放在功能上而不是全部写出来。动态创建语句

function(code){
            $('#info-children').children(':not(#info-'+ code +')).hide("slow");
            $('#info-children').children('#info-'+ code +').show("slow");
    }