2015-11-25 110 views
0

的JavaScript看起来就像这样:如何正确地将此代码转换为for循环?

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线开关盒,并且如果其他人,但我可以解决不了。有什么建议么?非常感谢。

回答

0

它是令人惊讶的,你可以用字符串操作。

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