-3

私はこのスクリプトを持っています、それは学習用のものとして使用しています。このコードでは、ボタンがクリックされるたびに複数のコードが実行されるように、それを取得しようとしています。たとえば、スタミナが1つ失われるたびに、3つのうちの1つ(お金、スタミナ、または健康)を変更してから、画面上の数値を更新します。残念ながら..私の番号は更新されていません。以前は1つの関数を呼び出すだけでこのプログラムを動作させていましたが、現在は複数の関数があり、問題が発生しています。

<html>
<head>
<script>
var stam=100;
var cash=0;
var health=100;
var rNumber=Math.random();
function explore(){      //2<- This function gets called and runs two functions
    if(stam>1){
        redStam();
        refresh();
              //<-- will add a function to use a random number later to decide whether health, money or stamina gets changed.
    };
    else{alert("You have no stamina")}}   
    function refresh(){   //3<-This function gets called, which refreshes the current variables
        document.getElementById('number').innerHTML=stam;
    };
    function redStam(){   //3<This function also gets called. 
        stam--;
    };
</script>
<button onclick="explore()">Explore</button>            1<- button gets clicked
</head>
<body>
<p id='number'>100</P>
</body>
</html>
4

2 に答える 2

2

ステートメントifに不要なセミコロンがあります:if { ... }; else { ... }

JavaScriptエラーが発生した場合は、ブラウザのコンソールを確認してみてください。問題がどの行にあるかがわかります。

于 2013-03-25T15:28:17.060 に答える
0

構文エラーがたくさんあり、コンソールを確認すると、の後にセミコロンがありますif

このフィドルは機能しているようです。

function explore() { //2<- This function gets called and runs two functions
    if (stam > 1) {
        redStam();
        refresh(); 
    } else {
        alert("You have no stamina")
    }
}
于 2013-03-25T15:30:45.280 に答える