JavaScriptとlocalStorageを使用した簡単なプログラムがあります。10 に等しい変数スロットがあります。「控除」をクリックすると減分します。しかし問題は、document.getElementById('slot').innerText = "FULL"; の前に 0 (ゼロ) が表示されることです。トリガーします。どうしてか分かりません。私が欲しいのは、スロットが0に達したとき、まだゼロを表示せず、FULLを表示することです。
Javascript:
window.onload = function(){
slot = localStorage.getItem("slot");
if (slot == null) {
slot = 10;
}
document.getElementById("slot").innerText = slot;
document.getElementById("button1").addEventListener('click', function(e){
e.preventDefault();
reduceSlot();
})
}
function reduceSlot() {
if (slot >= 1) {
slot--;
document.getElementById("slot").innerText = slot;
localStorage.setItem("slot", slot);
}
else {
document.getElementById('slot').innerText = "FULL";
document.getElementById("button1").style.display = "none";
}
}
HTML:
<p id="slot">10</p>
<a href="javascript:reduceSlot(1)" id="button1">Deduct</a>
<button onclick="window.localStorage.clear();">Clear All</button>
リンクは次のとおりです。 http://jsfiddle.net/K8stQ/