2015-04-01 68 views
-2

所以我有一个onclick按钮,它运行3个函数,每个函数都显示一个随机符号。所以当我按下按钮时,它应该输出3个随机符号,但是当我点击按钮时它只输出一个符号。我有一个“onclick”运行3个函数,但只运行一个?

<!DOCTYPE html> 
<html> 
<head> 
<title>MyFirstJavaScript</title> 
</head> 
<body> 
<script> 

function slots1() 
{ 
    var slot1 = Math.floor(Math.random()*4); 
    if (slot1 == 0) { 
     document.getElementById('value').innerHTML = "\u2663"; 
    } 
    if (slot1 == 1) { 
     document.getElementById('value').innerHTML = "\u2665"; 
    } 
    if (slot1 == 2) { 
     document.getElementById('value').innerHTML = "\u2666"; 
    } 
    if (slot1 == 3) { 
     document.getElementById('value').innerHTML = "\u2660"; 
    } 

} 



function slots2() 
{ 
    var slot2 = Math.floor(Math.random()*4); 
    if (slot2 == 0) { 
     document.getElementById('value').innerHTML = "\u2663"; 
    } 
    if (slot2 == 1) { 
     document.getElementById('value').innerHTML = "\u2665"; 
    } 
    if (slot2 == 2) { 
     document.getElementById('value').innerHTML = "\u2666"; 
    } 
    if (slot2 == 3) { 
     document.getElementById('value').innerHTML = "\u2660"; 
    } 

} 



function slots3() 
{ 
    var slot3 = Math.floor(Math.random()*4); 
    if (slot3 == 0) { 
     document.getElementById('value').innerHTML = "\u2663"; 
    } 
    if (slot3 == 1) { 
     document.getElementById('value').innerHTML = "\u2665"; 
    } 
    if (slot3 == 2) { 
     document.getElementById('value').innerHTML = "\u2666"; 
    } 
    if (slot3 == 3) { 
     document.getElementById('value').innerHTML = "\u2660"; 
    } 

} 



</script> 

<button type="button" value="Spin" name="SPIN"  onClick="slots1();slots2();slots3();">Spin</button> 
<span id="value"></span> 
</body> 
</html> 
+1

逻辑问题。你设置了innerHTML三次。只有最后一个会被看到,因为每个都覆盖了前一个。 – 2015-04-01 15:09:37

回答

1

每个功能基本上将覆盖年代由前一个变化值,所以你看到的唯一价值是slots3()结果。下面这行是所有函数的共同之处,它是您的覆盖:

document.getElementById('value').innerHTML = //some value;