In javascript when I create an interval, I want to stop the interval from inside the function, but I don't want to reference the ID value from outside like this
var y = setInterval(function(){ clearInterval(y); }, 1000);
What I want is to pass a variable similar to this style
setTimeout(function(data){alert(data);}, 1000, "data");
This works for setInterval too, except I can't really pass the id value that's returned by the setInterval function, because it gets created after calling it.
Right now I'm doing a hack like this:
var r = [];
var y = setInterval(function(r){ if (r.length==1) { clearInterval(r[0]); } }, 1000, r);
r.push(y);
Does anyone know the right way?
Thanks