Код здесь работает, но в ссылке, которую вы разместили, у вас есть это в вашем скрипте:
//funtion for humans born
setTimeout(start, 0000);
var i = 2.6;
var num = document.getElementById('humans');
function start() {
setInterval(increase, 1000);
}
function increase() {
if (i < 100000000) {
i += 2.6;
num.innerText = Math.round(i);
}
}
//funtion for trees cut
setTimeout(start, 0000);
var t = 475.646879756;
var t = document.getElementById('trees');
function startTwo() {
setInterval(increase, 1000);
}
Вы выполняете start
дважды: один за "рожденными людьми", а другой после "вырубки деревьев".
Поэтому у вас есть два параллельных интервала, которые выполняются increase
дважды в секунду, и каждый из вызовов increase
манипулирует одними и теми же переменными. Вот почему вы получили 8 сразу.
Я не уверен, какова ваша цель здесь, но у вас либо есть разные переменные / функции, которые нужно увеличивать каждую секунду для "рожденных людей" и "срубленных деревьев", или у вас есть одна start
вызов (и, следовательно, одна increase
функция вызывается каждую секунду).
В любом случае, это ваша ошибка: если вы хотите уточнить свою логику; Я / мы можем помочь в дальнейшем.