このJSコードを使用して、ボタンをクリックするたびにHTMLのパラグラフのテキストを金の値に設定しようとしましたが、テキストは1のままです。なぜですか?このJSでHTMLテキストが変更されないのはなぜですか?
ありがとうございます。 :D
このJSコードを使用して、ボタンをクリックするたびにHTMLのパラグラフのテキストを金の値に設定しようとしましたが、テキストは1のままです。なぜですか?このJSでHTMLテキストが変更されないのはなぜですか?
ありがとうございます。 :D
あなたは関数を呼び出し、その結果をハンドラに渡します。関数を呼び出すことなく関数を渡す必要があります。
また、実際に金額を増やす必要があります。それ以外の場合は、常にinnerHTML = 0 + 1
です。
function goldclick() {
gold += goldperclick;
goldCounter.innerHTML = gold;
}
と
goldGenerator.addEventListener("click", goldclick);
動作するはずです。この
goldGenerator.addEventListener("click", goldclick);
へ
金の変数を増やす必要があります。要素に加算の結果を割り当てるため、常に1になります。
goldGenerator.addEventListener("click", goldclick());
それはあなたがaddEventListener
に機能goldclick
を渡すべきである
goldGenerator.addEventListener("click", goldclick);
次のようになります。
function goldclick() {
//Add this
gold += goldperclick;
goldCounter.innerHTML = gold
}
この行に問題があります。
あなたのコードが現在行っていることは、goldclick
を呼び出して、この関数の結果をaddEventListener
に渡すことです。
変更この
goldGenerator.addEventListener("click", goldclick());
あなたはコールバックではなく、関数呼び出しの結果としてgoldClick
を渡したいです。
より正確には、ゴールド変数はクリックあたりの金額によって増加するはずです: gold = gold + goldperclick; goldCounter.innerHTML = gold; –