1

jquery アニメーションに問題があります。私のコードは次のとおりです。

 if((valorscrollpx >= 800) && (valorscrollpx <= 1700))
  {
      $('#loquehacebien').fadeIn(600);
      $('#loquehacebien_estrella').animate({left: '-=500', top: '+=80'}, 1800);
  }
  else
  {
    $('#loquehacebien').fadeOut(600);
  }

問題は、このアニメーションを停止する方法がわからないことです! スクロールが 800 px に達するとアニメーションが開始されて終了しますが、移動するたびにスクロール アニメーションが元の位置から再び開始されます。私に何ができる?。アニメーションが1回だけ開始および終了する必要があります。

ありがとう!

4

1 に答える 1

0

星を一度だけアニメーション化する必要がある場合は、次のようなフラグを使用できます。

置く

var flag = false; 

外側$(window).scroll(...);

コードを次のように置き換えます

if((valorscrollpx >= 800) && (valorscrollpx <= 1700) && !flag)   {
       $('#loquehacebien').fadeIn(600);       
       $('#loquehacebien_estrella').animate({left: '-=500', top: '+=80'}, 1800);
       flag = true;   
}   else   {     
       $('#loquehacebien').fadeOut(600);   
}
于 2014-04-01T17:03:21.743 に答える