0

宇宙船を斜め左下に飛行させようとしていますが、リセットして同じループを再度実行することはできません。

 $(document).ready(function() {
    setTimeout("spaceship1()",400);
  });

 function spaceship1(){
     $("#spaceship1").animate({
           left:"-=800px", 
           top:"+=800px"
     },2000).animate({
           top:"-800px"
     },0);
     setTimeout("spaceship1()",2000); 
     }
 }
4

1 に答える 1

0

このように、アニメーションの完了関数を使用して次のアニメーションラウンドをスケジュール/開始できます。文字列は使用せずsetTimeout()、実際の関数参照を使用してください。

また、アニメーションは開始した場所に戻らないため、完全なループにするために修正する必要があります。そうでない場合は、元の場所に戻りません。それが意図されているかどうかはわかりません。

$(document).ready(function() {

     function spaceship1() {
         $("#spaceship1").animate({
               left:"-=800px", 
               top:"+=800px"
         },2000).animate({top:"-800px"}, 2000, function() {
             setTimeout(spaceship1, 2000);
         });
     }

     setTimeout(spaceship1, 400);
});
于 2012-04-28T17:55:42.380 に答える