2016-11-04 9 views
0

私はちょうど私の自身の小さなクリッカーゲームを作り始めました。そして、私は行き詰まってしまいました。私はクリック数があり、カウントが増加する数を変更するボタンを作成したいと思います。私はクリック数が私のclicks.jsファイル内で上がるという値を変更したいボタンを持っているHTMLの底部に向かって関数内の値を変更するにはどうすればよいですか?

<!DOCTYPE html> 
<html> 
    <head> 
     <title> Rust Clicker </title> 

     <link rel="stylesheet" href="css.css"> 

     <link rel="icon" src="icon.ico"> 
    </head> 

    <body> 
     <div onClick="onClick()"> 

      <img src="rust.jpg" id="click" value="Click" /> 

     </div> 

     <script src="picture.js"></script> 

     <script src="clicks.js"></script> 

      <p>Clicks: <a id="clicks">0</a></p> 

      <button onClick="">Click me to click twice!</button> 

    </body> 
</html> 

。以下はclicks.jsです:

var clicks = 0; 
function onClick() { 
    clicks += 1; 
    document.getElementById("clicks").innerHTML = clicks; 
}; 

私は増加する私のHTMLにボタンを作りたい「クリック+ = 1;」 "クリック数+ = 2"になりますが、方法はわかりません。

+0

'onClick()'の内側には、外側以外のスコープがあります。 'clicks'は' onClick() 'のスコープの中で' undefined 'です。解決策: 'window'オブジェクトに(例えば)追加することによって'クリック 'をグローバルにします。 – Koen

+1

@Koen 'クリック 'は既にグローバルです。それは関数の外で定義されます。そして、これはOPの質問には何もしません。 – Turnip

+0

'私はHTMLのボタンを"クリック数+ = 1 "に増やしたいと思っています。これを正しく理解すれば、クリック変数に2を追加したい場合は、グローバル変数 'clicksIncrement = 1'を設定し、' clicks + = 1; 'を' + = clickIncrement'とどこかで 'clickincrement' varをインクリメントする必要があります。 –

答えて

3

clickイベントで関数自体を変更しますか?

もしそうなら、私はそのことができるとは思わない。私はまだあなたのように始まっているので、私は間違っている可能性があります。 :)

クリックによる変化がクリックされた要素に固有である場合、あなたはおそらく次の操作を行うことができます:

var clicks = 0; 

function onClick(x) { 
    clicks += x; 
    document.getElementById("clicks").innerHTML = clicks; 
}; 

次に、あなたが行うことができますあなたのためのボタン:

<button onClick="onClick(2)">Click me to click twice!</button> 
例えば、

...と他の場所では、例えば:

<div onClick="onClick(1)"> 

    <img src="rust.jpg" id="click" value="Click" /> 

</div> 

ワンクリックのように。

これは何らかの形で役に立ちます。

関連する問題