2016-11-04 65 views
0

我剛剛開始創建自己的小型點擊遊戲,並陷入死衚衕。我有一個點擊計數,我想創建一個按鈕來改變計數增加的數量。如何更改函數內的值?

<!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> 

邁向HTML的底部我有一個按鈕,我要改變的值的點擊次數在我clicks.js文件上升。下面是clicks.js:

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

我想讓我的HTML中的按鈕增加「clicks + = 1;」到「點擊+ = 2」,但不知道如何。

+0

'onClick()'你在另一個範圍內而不是外部。 'onClick()'範圍內的'clicks'是'undefined'。解決方案:通過將'clicks'全局添加到(例如)'window'對象中。 – Koen

+1

@Koen'點擊'已經是全球性的。它在函數的外部定義。這與OP的問題無關。 – Turnip

+0

'我想讓HTML中的按鈕增加「clicks + = 1;」到「clicks + = 2」'如果我正確地理解了這個,你想添加2到click var,你可以通過設置一個全局變量'clicksIncrement = 1'並用'clicks'代替'clicks + = 1;' + = clickIncrement'和某處你需要增加'clickincrement' var。 –

回答

3

你想要點擊事件來改變它自己的功能嗎?

如果是這樣,我不太確定那是可以做的事情。我可能是錯的,因爲我仍然像你一樣開始。 :)

如果造成了點擊的變化是特定於被點擊的元素,你可能做到以下幾點:

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> 

單擊等等。

希望這有助於某種方式:)