如何在函数中清理这个else if代码?



我的页面上有一堆Youtube播放器,需要动态添加视频Id以在单独的播放器中播放。我从单选按钮值中获取Id。我怎样才能减少这种混乱呢?

当我点击一个单选按钮,我想有视频oid插入动态。另外,如何减少else if语句的数量?

if ($(this).val() =="KiTi-uJ2vRg") {
player6.loadVideoById('KiTi-uJ2vRg')
$('#fifth-set').show();

}
else if ($(this).val() =="gZX7H8Yt08k") {
player7.loadVideoById('gZX7H8Yt08k')
$('#sixth-set').show();

}
else if ($(this).val() =="xMx44vD90vo") {
player8.loadVideoById('xMx44vD90vo')
$('#seventh-set').show();


}
else if ($(this).val() =="cf3h80n-vLE") {
player8.loadVideoById('cf3h80n-vLE')
$('#eigth-set').show();


}
else if ($(this).val() =="WXMVaWANGaY") {
player8.loadVideoById('WXMVaWANGaY')
$('#ninth-set').show();


}
else if ($(this).val() =="M7l-jnKmmkM") {
player8.loadVideoById('M7l-jnKmmkM')
$('#tenth-set').show();


}
else if ($(this).val() =="S8Pn6nN8Hb8") {
player9.loadVideoById('S8Pn6nN8Hb8')
$('#eleventh-set').show()


}
else if ($(this).val() =="4fAMgNCjr9A") {
player10.loadVideoById('4fAMgNCjr9A')
$('#eleventh-set').show()


}
else if ($(this).val() =="6N6S-R0kTGg") {
player11.loadVideoById('6N6S-R0kTGg')
$('#eleventh-set').show()
}
else if ($(this).val() =="OkrXfg4LvJs") {
player12.loadVideoById('OkrXfg4LvJs')
$('#eleventh-set').show()
}
else if ($(this).val() =="HWpcSAxJnns") {
player13.loadVideoById('HWpcSAxJnns')
$('#twelth-set').show()

}
else if ($(this).val() =="SVM1uUE0LGY") {
player14.loadVideoById('SVM1uUE0LGY')

}

也许你可以使用地图

const val = $(this).val();
const tracker = {
"KiTi-uJ2vRg": [player6, "#fifth-set"],
"gZX7H8Yt08k": [player7, "#sixth-set"],
"xMx44vD90vo": [player8, "#seventh-set"],
}
if (tracker[val]) {
tracker[val][0].loadVideoById(val);
$(tracker[val][1]).show();
}

最新更新