2015-04-01 66 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;