Код:
var first = 0;
var second = 0;
var sub = 0;
function subtractionFunction() {
document.getElementById('example').innerHTML = "";
document.getElementById('timerSubtraction').innerHTML = "";
first = Math.floor(Math.random() * 5);
second = Math.floor(Math.random() * 5);
sub = parseInt(first-second);
document.getElementById('example').innerHTML += first;
document.getElementById('example').innerHTML += " ";
document.getElementById('example').innerHTML += '-';
document.getElementById('example').innerHTML += " ";
document.getElementById('example').innerHTML += second;
document.getElementById('timerSubtraction').innerHTML = first + Math.floor(Math.random() * 8);
}
function timerSubtraction() {
var obj = document.getElementById('timerSubtraction');
obj.innerHTML--;
if (obj.innerHTML < sub) {
return subtractionFunction();
} else {
setTimeout(timerSubtraction, 1000);
}
}
<div onclick="subtractionFunction(); timerSubtraction()"> Click </div>
<div id="example"></div>
<div id="timerSubtraction"></div>
И проблема вот здесь:
if (obj.innerHTML < sub) {return subtractionFunction();}
Как снова вызвать эти две функции при таком раскладе.
Пробовала вызвать subtractionFunction
, вызывая в ней при этом timerSubtraction
, но не выходит, потому что число уменьшается с шагом в .
Как это исправить?
В этом примере можно просто вызывать функцию, отвечающую за таймер, внутри subtractionFunction();
var first = 0;
var second = 0;
var sub = 0;
function subtractionFunction() {
document.getElementById('example').innerHTML = "";
document.getElementById('timerSubtraction').innerHTML = "";
first = Math.floor(Math.random() * 5);
second = Math.floor(Math.random() * 5);
sub = parseInt(first - second);
document.getElementById('example').innerHTML += first;
document.getElementById('example').innerHTML += " ";
document.getElementById('example').innerHTML += '-';
document.getElementById('example').innerHTML += " ";
document.getElementById('example').innerHTML += second;
document.getElementById('timerSubtraction').innerHTML = first + Math.floor(Math.random() * 8);
timerSubtraction();
}
function timerSubtraction() {
var obj = document.getElementById('timerSubtraction');
obj.innerHTML--;
if (obj.innerHTML < sub) {
return subtractionFunction();
} else {
setTimeout(timerSubtraction, 1000);
}
}
А в диве вызывать только одну функцию:
<div onclick="subtractionFunction(); timerSubtraction()"> Click </div>
<div id="example"></div>
<div id="timerSubtraction"></div>
Вот ссылка на https://jsfiddle.net/1vayrdyg/
Сам пример немного странный, но с его помощью, надеюсь, удалось объяснить что нужно сделать.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Суть такова, есть самописный виджет, встраивается посредством js в <head>Если на сайте есть стандартный класс container, то все хорошо, а вот если...
Нужно провалидировать айпишник с маскойВозвращает true, false, true, false