2016-12-06 7 views
0

私のスクリプトに重大な問題があります...何らかの理由でコンソールが私と話していないので、出力が表示されません。数値が1,000に達したときに出力が1000になり、1000000に達してQuintilianに到達したときに出力が得られます。助けてください!数字の末尾を変更する

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
</head> 
 
<body> 
 
<p id="output"></p> 
 
<button onclick="collectWood()" id="woodButton">collect wood</button> 
 
<script> 
 
window.addEventListener("DOMcontentLoaded", function(){ 
 
var wood = +localStorage.getItem("woodSave"); 
 
var woodOut = document.getElementById("output"); 
 
var woodbtn = document.getElementById('woodButton'); 
 

 
woodThousand(); 
 
woodMillion(); 
 
woodBillion(); 
 
woodTrillion(); 
 
woodQuadrillion(); 
 
woodQuintillion(); 
 

 
woodbtn.addEventListener("click", collectWood); 
 

 
function collectWood() { 
 
\t wood +=1; 
 
\t woodOut.innerHTML = wood; 
 
\t localStorage.setItem("woodSave", wood); 
 
\t woodThousand(); 
 
\t woodMillion(); 
 
\t woodBillion(); 
 
\t woodTrillion(); 
 
\t woodQuadrillion(); 
 
\t woodQuintillion(); 
 
} 
 
function woodThousand() { 
 
\t console.log(wood); 
 
\t woodOut.textContent = (wood >= 1000) ? (wood/1000).toFixed(2) + "Thousand":wood; 
 
} 
 
function woodMillion() { 
 
\t woodOut.textContent = (wood >= 1000000) ? (wood/1000000).toFixed(2) + "Million":wood; 
 
} 
 
function woodBillion() { 
 
\t woodOut.textContent = (wood >= 1000000000) ? (wood/1000000000).toFixed(2) + "Billion":wood; 
 
} 
 
function woodTrillion() { 
 
\t woodOut.textContent = (wood >= 1000000000000) ? (wood/1000000000000).toFixed(2) + "Trillion":wood; 
 
} 
 
function woodQuadrillion() { 
 
\t woodOut.textContent = (wood >= 1000000000000000) ? (wood/1000000000000000).toFixed(2) + "Quadrillion":wood; 
 
} 
 
function woodQuintillion() { 
 
\t woodOut.textContent = (wood >= 1000000000000000000) ? (wood/1000000000000000000).toFixed(2) + "Quintillion":wood; 
 
} 
 
setInterval(function() { 
 
woodThousand(); 
 
woodMillion(); 
 
woodBillion(); 
 
woodTrillion(); 
 
woodQuadrillion(); 
 
woodQuintillion(); 
 
}, 1); 
 
}); 
 
</script> 
 
</body> 
 
</html>

+0

まあ、このコードは昨日からよく分かります。最初は 'DOMContentLoaded'(大文字の" C ")です。だからこそ、ページが始まると何も起こらない。第二に、あなたは 'onclick =" collectWood() "を必要としません。なぜなら、これはJavaScriptで処理されているからです。 –

+0

昨日ここに来てくれてありがとうScott。私はあなたのスクリプトをコピーし、私自身のバージョンに実装しようとしましたが、今日はコンソールデイデントワークによるエラー検出ができました。そして、私はDOMContentLoadedをスクリプトの先頭に追加するべきですか? –

答えて

0

localStorageので、解決策をthis Fiddleを参照してください、SOに動作しません。あなたのコードにはいくつかの問題がありました:

最初はDOMContentLoaded(大文字の "C")です。だからこそ、ページが始まると何も起こらない。第二に、onclick="collectWood()はJavaScriptで処理されているため、必要ありません。

おそらく最大の変化は、木の数が得られるレベルごとに異なる機能を必要としないことでしょう。 1つの関数が行います(Fiddleのif/thenを参照)。

+0

ありがとう!私はいつもあなたを信じることができます!これを手伝ってくれてありがとう! –

+0

@LiamSperry答えとして投票してマークすることを忘れないでください。 –

関連する問題