Javascript setinterval和clearinterval

Javascript setinterval和clearinterval,javascript,image,html,setinterval,clearinterval,Javascript,Image,Html,Setinterval,Clearinterval,我试图让一个图像看起来好像它正在倒下。所以我做了一个div,把图像放进去。使用setinterval和clearinterval,我试图让图像停在div的边界,但我不知道如何做到这一点。 代码如下: var x = 200; var y = -155; var inc = 5; var myVar; var fall = function() { myVar = setInterval(function(){moveDown();},30); }; var stopFall = functi

我试图让一个图像看起来好像它正在倒下。所以我做了一个div,把图像放进去。使用setinterval和clearinterval,我试图让图像停在div的边界,但我不知道如何做到这一点。 代码如下:

var x = 200;
var y = -155;
var inc = 5;

var myVar;

var fall = function() {
myVar = setInterval(function(){moveDown();},30);
};
var stopFall = function() {
clearInterval(myVar);
};
var moveDown = function() {
y += inc;

document.getElementById('img1').style.top = y + 'px';
};
我希望
setinterval
y=155时自动停止,但我不知道如何停止。我尝试过if、while和for语句,但它们似乎不起作用。。
我制作了一个运行
stopFall()的按钮和它的工作,但我希望它自动停止,而不点击任何按钮。有人知道怎么做吗?

更改
moveDown()
函数,检查
y
的当前状态,如有必要,调用
stopFall()

作为替代,您可以像这样直接使用
clearInterval()

var moveDown = function() {
  y += inc;

  if ( y >= 155 ) { 
    clearInterval(myVar);
  }

  document.getElementById('img1').style.top = y + 'px';
};

你为什么不试试哦,上帝,非常感谢你!啊哈哈,我从没想到会这么简单……谢谢你:)
var moveDown = function() {
  y += inc;

  if ( y >= 155 ) { 
    clearInterval(myVar);
  }

  document.getElementById('img1').style.top = y + 'px';
};
 var x = 200;
 var y = -155;
 var inc = 5;

 var myVar;

 var fall = function() {
       myVar = setInterval(function(){
         if(y >= 155) clearInterval(myVar);
         moveDown();
       },
       30);
 };

 var moveDown = function() {
     y += inc;

     document.getElementById('img1').style.top = y + 'px';
 };