所以我有这个按钮,增加了我的增量游戏所需的剑,剑应该每秒增加一个灵魂(游戏中的"金钱")它有效昨天,我刚刚改变了一些CSS,所以我不知道它为什么不再工作了。
<button class="muchFancy" onclick="buySword()"> Buy a Sword </button>
var Swords = 0;
function autoSoul(number) {
souls = souls + number;
document.getElementById('souls').innerHTML = souls;
}
function buySword() {
var swordCost = Math.floor(30 * Math.pow(1.25, Swords));
if (souls >= swordCost) {
Swords = Swords + 1;
souls = souls - swordCost;
document.getElementById("Swords").innerHTML = Swords;
document.getElementById("souls").innerHTML = souls;
};
var nextSword = Math.floor(30 * Math.pow(1.25, Swords));
document.getElementById('swordCost').innerHTML = nextSword;
};
window.setInterval(function(){
autoSoul(Swords);
}, 1000);
所以,当我买一把剑时,它不会每秒增加一个灵魂,它什么都不做......它昨天起作用,所以我不知道它为什么不起作用
(实际上我并不是唯一一个处理代码的人,但他答应我他没有改变javascript上的任何内容......)
答案 0 :(得分:0)
试试这个。我认为你的souls
变量正在被提升或其他什么。
<强> HTML 强>
<button class="muchFancy" id="muchFancy">Buy a Sword</button><br>
Swords: <div id="Swords">1</div>
souls: <div id="souls">150</div>
Cost: <div id="swordCost">5</div>
<强> JS 强>
var Swords = 1;
var souls = 150;
function autoSoul(number) {
souls = souls + number;
document.getElementById('souls').innerHTML = souls;
}
function buySword() {
var swordCost = Math.floor(30 * Math.pow(1.25, Swords));
if (souls >= swordCost) {
Swords = Swords + 1;
souls = souls - swordCost;
document.getElementById("Swords").innerHTML = Swords;
document.getElementById("souls").innerHTML = souls;
}
var nextSword = Math.floor(30 * Math.pow(1.25, Swords));
document.getElementById('swordCost').innerHTML = nextSword;
}
window.setInterval(function () {
autoSoul(Swords);
}, 1000);
document.getElementById("muchFancy").addEventListener("click", function(){
buySword();
});