简化 jQuery 开关盒
Simplify jQuery Switch Case
我正在使用 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");
}
我觉得你可以把它放在函数里而不是全部写出来。动态创建语句
function(code){
$('#info-children').children(':not(#info-'+ code +')).hide("slow");
$('#info-children').children('#info-'+ code +').show("slow");
}
我正在使用 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");
}
我觉得你可以把它放在函数里而不是全部写出来。动态创建语句
function(code){
$('#info-children').children(':not(#info-'+ code +')).hide("slow");
$('#info-children').children('#info-'+ code +').show("slow");
}