1

倒れているように見える画像を作ろうとしています。だから私は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();をクリックせずに自動的に停止したいです。誰もこれを行う方法を知っていますか?

4

2 に答える 2

2

moveDown()関数を変更して、の現在の状態を確認し、y必要に応じてを呼び出しますstopFall()

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

  if ( y >= 155 ) { stopFall(); }

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

clearInterval()別の方法として、このように直接使用することもできます

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

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

  document.getElementById('img1').style.top = y + 'px';
};
于 2012-06-13T14:34:07.467 に答える
0
 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';
 };
于 2012-06-13T14:37:53.223 に答える