I am trying to call a setTimeout from within a setInterval callback:
function callback() { //assign myVar var myVar = document.getElementById('givenID'); //... //now wait 2 secs then call some code that uses myVAr setTimeout('myVar.innerHTML = 'TEST'', 2000); } setInterval('callback();', 10000);
setInterval works as expected but setTimeout call is failing. I guess the problem is related to the fact that I am referencing a variable (myVar) that’s not in scope.
What’s the best way to solve this?
This is a perfect candidate for closures:
Your problem is scope related, and this would work around that.