【问题标题】:How to get this Code correctly into for loops?如何将此代码正确放入 for 循环?
【发布时间】:2015-11-25 22:34:45
【问题描述】:

JavaScript 看起来像这样:

function playsound(button) {

switch(button){
case "button1":
    switch(soundbank){
        case 0:
            document.getElementById("audio1").load();
            document.getElementById("audio1").play();
            break;
        case 1:
            ...
            ...
case "button2":
    switch(soundbank){
        case 0:
            document.getElementById("audio2").load();
            document.getElementById("audio2").play();
            break;
case "button3":
    switch(soundbank){
        case 0:
            document.getElementById("audio3").load();
            document.getElementById("audio3").play();
            break;
case "button4":
    switch(soundbank){
        case 0:
            document.getElementById("audio4").load();
            document.getElementById("audio4").play();
            break;
case "..."
    ...
    ...
}}

这样的HTML:

<button onclick="playsound(this.id)" id="button1" </button>
<button onclick="playsound(this.id)" id="button2" </button>
<button onclick="playsound(this.id)" id="button3" </button>
<button onclick="playsound(this.id)" id="button4" </button>

<audio id="audio1">
    <source src="audio1.wav">
</audio>
<audio id="audio2">
    <source src="audio2.wav">
</audio>
<audio id="audio3">
    <source src="audio3.wav">
</audio>
<audio id="audio4">
    <source src="audio4.wav">
</audio>

我想将大部分内容放入循环中,而不是使用 1000 行 switch case 和 If Else,但我无法解决。有什么建议么?非常感谢。

【问题讨论】:

    标签: arrays if-statement for-loop switch-statement


    【解决方案1】:

    你可以用字符串操作来做令人惊奇的事情。

    document.getElementById("audio"+button.substring(6)).load();

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 2012-12-03
      • 1970-01-01
      • 2023-01-22
      • 2020-08-19
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多