1

.animate()を使用していないときにキューを無効にする方法がわかりません。.clearQueue()はおそらく機能すると思いますが、どこに配置すればよいかわかりません。ありがとう!!

$('.one').hover(
  function () {
    $(this).addClass('bigger-outer', 1000);
    $(this).find('.inner').addClass('bigger-inner', 1000);
  }, 
  function () {
    $(this).removeClass('bigger-outer', 1000);
    $(this).find('.inner').removeClass('bigger-inner', 1000)
  }
);
4

2 に答える 2

1

clearQueue キューを空にしますが、現在のアニメーション (存在する場合) は実行されたままになります。

現在のアニメーションも停止する場合は、 を参照してstop()、両方のパラメータを true に設定します (最初にキューをクリアし、2 番目で最後にジャンプします)。

それらを配置する場所については、おそらく両方のイベント ハンドラーに配置する必要があります。

$('.one').hover(
  function () {
    $(this).stop(true, true).addClass('bigger-outer', 1000);
    $(this).find('.inner').addClass('bigger-inner', 1000);
  }, 
  function () {
    $(this).stop(true, true).removeClass('bigger-outer', 1000);
    $(this).find('.inner').removeClass('bigger-inner', 1000)
  }
);

jQueryaddClass()は 2 番目のパラメーターを受け入れないことに注意してください。その効果は瞬間的ですが、jQuery UI はそうします(明らかに、これはばかげています)。

于 2012-06-28T21:06:53.773 に答える
0

チェーン.stop(true)してアニメーション キューをクリアできます

http://api.jquery.com/stop/

于 2012-06-28T21:06:44.633 に答える