#jquery #video #dynamic
#jquery #Видео #динамический
Вопрос:
На моей странице есть несколько проигрывателей Youtube, и мне нужно динамически добавлять идентификатор видео для воспроизведения в отдельных проигрывателях. Я получаю идентификатор из значения переключателя. Как я могу уменьшить этот беспорядок else if?
Когда я нажимаю переключатель, я хотел бы, чтобы видеоид вставлялся динамически. Кроме того, как я могу уменьшить количество операторов 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')
}
Комментарии:
1. используйте условие переключения вместо else, если — w3schools.com/js/js_switch.asp
Ответ №1:
может быть, вы можете использовать карту
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();
}
Комментарии:
1. Спасибо D. Seah. Это очень помогло мне!