I\'m trying to call my function every 4 seconds so it will increment a number live. For some reason I keep getting errors. Here\'s my code:
<
Inside getNum
, you're directly invoking the getNum
function, causing the stack to exhaust. Replace the function call getNum()
with the function reference getNum
:
function getNum() // Gets triggered by page load so innerHTML works
{
num += 7; // Increase and assign variable
document.getElementById('counter').innerHTML = num;
setTimeout(getNum, 4000); // <-- The correct way
}
Link to documentation of setTimeout.
setTimeOut
should be setTimeout
The problem is your call to setTimeout
is invoking getNum
instead of scheduling it for execution. This leads to infinite recursion and a stack overflow. Try the following instead
setTimeout(getNum, 4000);