我首先尝试将 y 的值传递回函数,但这会导致浏览器变慢,就好像创建了一个无限循环一样,外部帧变量会阻止它,但我更愿意将所有变量保留在函数中,有没有办法在没有得到“反馈”的情况下实现这一目标?
var frame=0;
function launch(){
var el=document.getElementById("selection");
setInterval(function(){ drawer(el,frame);},300);
}
function drawer(el,y){
if(y<20){
frame++;
el.style.top=20+frame+"px";
setInterval(function(){ drawer(el,frame);},300);
}