Я делаю простую игру для продажи анчоусов. У меня есть апгрейд, чтобы купить небольшую рыболовную сеть. Рыболовная сеть стоит определенное количество анчоусов, поэтому я вычитаю это число из общей суммы, а затем переписываю с помощью innerHTML. Я хочу, чтобы эта небольшая сеть добавляла 1 анчоус каждую секунду, поэтому я использую window.setInterval. Однако теперь каждую секунду [object HTMLSpanElement] записывается на страницу.Javascript возвращает [object HTMLSpanElement]
Что мне делать?
Вот jsfiddle ссылка: http://jsfiddle.net/Bj6M5/1/
А вот код:
<head>
<script type="text/javascript">
var anchovies = 0;
var money = 0;
function goFish(num) {
anchovies = anchovies + num;
money = 0.433 * anchovies;
var money_rounded;
money_rounded = money.toFixed(2);
if (anchovies != 1) {
document.getElementById("anchovies").innerHTML = anchovies + " anchovies";
}
else {
document.getElementById("anchovies").innerHTML = "1 anchovy";
}
document.title = "$" + money_rounded + " - Anchovy Bros.";
}
function buySmallNet(){
var smallnet_price = Math.floor(10 * Math.pow(1.1,smallnets));
if (anchovies >= smallnet_price) {
smallnets = smallnets + 1;
anchovies = anchovies - smallnet_price;
if (smallnets != 1) {
document.getElementById("smallnets").innerHTML = smallnets + " small nets";
}
else {
document.getElementById("smallnets").innerHTML = "1 small net";
}
document.getElementById("anchovies").innerHTML = anchovies + " anchovies";
}
else {
alert("You don't have enough anchovies!");
}
}
window.setInterval(function(){
goFish(smallnets);
}, 1000);
</script>
<title>$0 - Anchovy Bros.</title>
</head>
<body>
<button onclick="goFish(1);">FISH!</button>
<br>
<span id="anchovies"></span>
<div style="float:right;" id="upgrades">
<center>
<button onclick="buySmallNet();">small fishing net</button>
<br>
<span>costs 15 anchovies</span>
<br>
<span id="smallnets"></span>
</center>
</div>
</body>
проблема в том, что _smallnets_ не был инициализирован. сделайте это: 'var smallnets = 1;' – amdixon