最初に関数に 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);
}