Итак, я пытаюсь увеличить значение числа с интервалом в 1 секунду с десятичным числом между (0,01 и 0,05), и я не могу понять этого.
Единственное, что он делает, это показывает мне числа от 0,01 до 0,05 вместо того, чтобы складывать их в целое число.
setInterval (function myFunction() {
var number = 0;
document.getElementById("computerScore").innerHTML = number +
Math.floor((Math.random() * 5) + 1)/100;
}, 1000)
<b>computer score:</b><p id = "computerScore">0</p>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно получить предыдущее значение из вашего счета и добавить к нему свой случайный номер:
PS: Я добавил .toFixed(2), чтобы ограничить ваш результат двумя десятичными знаками.
let score = document.getElementById("computerScore");
setInterval (function myFunction() {
score.innerHTML = (+score.innerHTML + Math.floor((Math.random() * 5) + 1)/100).toFixed(2);
}, 1000)<b>computer score:</b><p id = "computerScore">0</p>Вы устанавливаете number на 0 каждый раз, когда вызываете функцию, вы должны определять number вне интервала
var number = 0;
setInterval(function myFunction() {
document.getElementById("computerScore").innerHTML = number +
Math.floor((Math.random() * 5) + 1) / 100;
}, 1000)
Вам нужно объявить число за пределами setTimeout:
var number = 0;
setInterval (function myFunction() {
number = number +
Math.floor((Math.random() * 5) + 1)/100;
document.getElementById("computerScore").innerHTML = number;
}, 1000)
Спасибо, это сработало! Не понял, что мне нужно объявить это вне функции, теперь имеет смысл
вы можете попробовать что-то подобное. Вы забыли установить число равным 0. Затем вам нужно увеличить число на полученное случайное значение.
https://codepen.io/anon/pen/dgJpep
JS :
var number = 0;
function check(){
setInterval(function(){
number = number + Math.floor((Math.random() * 5) + 1)/100;
}, 3000);
}
check();
setInterval(function(){
document.getElementById('computerScore').innerHTML = number;
});
Дайте мне знать, если это сработает для вас!
Твоя проблема означает, что вы устанавливаете number на 0 при каждом выполнении, в то время как это должно быть текущее значение.
Вам нужно назначить ему Number(document.getElementById("computerScore").textContent), чтобы он продолжал обновляться с добавленным случайным числом.
Примечание, что я использовал textContent, который рекомендуется здесь, поскольку он содержит только текстовое содержимое элемента, избегая элементов HTML.
setInterval (function myFunction() {
var number = Number(document.getElementById("computerScore").textContent);
document.getElementById("computerScore").textContent= number +
Math.floor((Math.random() * 5) + 1)/100;
}, 1000)
Демо:
setInterval (function myFunction() {
var number = Number(document.getElementById("computerScore").textContent);
document.getElementById("computerScore").textContent = number +
Math.floor((Math.random() * 5) + 1)/100;
}, 1000)<b>computer score:</b><p id = "computerScore">0</p>Спасибо, это работает! Действительно проницательно, не понял, что мне нужно назначить номер документу, но теперь это имеет смысл
@karagkalex Да, мы использовали конструктор Number для анализа числа из строки HTML.
Спасибо, это работает! Действительно полезно знать о .toFixed