【问题标题】:How can I clean up this else if code in a function如果函数中有代码,我该如何清理它
【发布时间】:2021-05-20 23:00:12
【问题描述】:

我的页面上有一堆 Youtube 播放器,需要动态添加视频 ID 以在单独的播放器中播放。我从单选按钮值中获取 Id。如果一团糟,我该如何减少这种情况?

当我单击单选按钮时,我希望插入 videoId 动态的。另外,如何减少 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')
               
            }

【问题讨论】:

标签: jquery video dynamic


【解决方案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();
}

【讨论】:

  • 谢谢 D. Seah。这对我有很大帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
相关资源
最近更新 更多