Как вызвать итоговое число
У меня есть код, (функция randomFloat()) который с 1.00, добавляет каждые к примеру 10млс добавляет к этой одиничке по 0.01, до достижения конечного числа(функция Random()), как мне сделать так, что бы ещё до достижения конечного числа, его показывало на втором display Вот код js,html:
const oneStepTime = 100;
const display = document.getElementById("display");
const timerDisp = document.getElementById("timer");
function randomFloat(maxNumber, maxStep, minStep) {
let acc = 1.00;
const interval = setInterval(() => {
let step = 0.01;
if (maxNumber - acc > step) {
acc += step;
} else {
acc = maxNumber;
clearInterval(interval);
setTimeout(() => {
display.innerText = "";
run();
}, 1000)
}
display.innerText = acc.toFixed(2) + "x";
}, oneStepTime);
}
function run() {
let count = 3;
const countdownInterval = setInterval(() => {
timerDisp.innerText = count;
count--;
if (count < 0) {
clearInterval(countdownInterval);
timerDisp.innerText = '';
randomFloat(Random(), 10, 1);
}
}, 1000);
}
function Random() {
const min = 1;
const max = 5;
return Math.round((Math.random() * (max - min) + min) * 100) / 100;
}
run()
<div id="display"></div>
<div id="display2"></div>
<div id="timer"></div>
Заранее спасибо!
Ответы (1 шт):
Автор решения: Logos
→ Ссылка
Сохраняйте результат функции Random
в переменную, а потом выводите переменную и передавайте её в функцию randomFloat
:
const oneStepTime = 100;
const display = document.getElementById("display");
const display2 = document.getElementById("display2");
const timerDisp = document.getElementById("timer");
function randomFloat(maxNumber, maxStep, minStep) {
let acc = 1.00;
const interval = setInterval(() => {
let step = 0.01;
if (maxNumber - acc > step) {
acc += step;
} else {
acc = maxNumber;
clearInterval(interval);
setTimeout(() => {
display.innerText = "";
display2.innerText = "";
run();
}, 1000)
}
display.innerText = acc.toFixed(2) + "x";
}, oneStepTime);
}
function run() {
let count = 3;
const countdownInterval = setInterval(() => {
timerDisp.innerText = count;
count--;
if (count < 0) {
clearInterval(countdownInterval);
timerDisp.innerText = '';
const randomNumber = Random();
display2.innerText = randomNumber;
randomFloat(randomNumber, 10, 1);
}
}, 1000);
}
function Random() {
const min = 1;
const max = 5;
return Math.round((Math.random() * (max - min) + min) * 100) / 100;
}
function button() { disp2.innerText = randomNumber; }
run()
<div id="display"></div>
<div id="display2"></div>
<div id="timer"></div>
Вывод переменной при нажатии на кнопку:
const oneStepTime = 100;
const display = document.getElementById("display");
const display2 = document.getElementById("display2");
const timerDisp = document.getElementById("timer");
let randomNumber;
function randomFloat(maxNumber, maxStep, minStep) {
let acc = 1.00;
const interval = setInterval(() => {
let step = 0.01;
if (maxNumber - acc > step) {
acc += step;
} else {
acc = maxNumber;
clearInterval(interval);
setTimeout(() => {
display.innerText = "";
display2.innerText = "";
run();
}, 1000)
}
display.innerText = acc.toFixed(2) + "x";
}, oneStepTime);
}
function run() {
let count = 3;
const countdownInterval = setInterval(() => {
timerDisp.innerText = count;
count--;
if (count < 0) {
clearInterval(countdownInterval);
timerDisp.innerText = '';
randomNumber = Random();
randomFloat(randomNumber, 10, 1);
}
}, 1000);
}
function Random() {
const min = 1;
const max = 5;
return Math.round((Math.random() * (max - min) + min) * 100) / 100;
}
function button() { display2.innerText = randomNumber; }
run()
#Button {
width: 20px;
height: 20px;
background: red;
}
<div id="display"></div>
<div id="display2"></div>
<div id="timer"></div>
<button id="Button" onclick="button()"></button>