0

これが機能する私の古いコードです:

$('.logo').hover(function(){
  $(this).addClass('animated swing')},
  function(){$(this).removeClass('animated swing')
});   

これがリファクタリングしようとしている私の新しいコードです。問題は、ページが読み込まれたときに(ロゴにカーソルを合わせずに)クラス「アニメーションスイング」を追加することです。

$('.logo').on('hover').toggle( function() { $(this).toggleClass('animated swing') });  

また、初回以降は再生されません

4

2 に答える 2

2

コードを変更する必要があります。onは、実行するイベントと関数の2つの引数を取ります。次のようになります。

$('.logo').on('hover', 
    $(this).toggle( function() { $(this).toggleClass('animated swing') });
);

実際に.on('hover')。toggle(...)を使用すると、その関数を' hover'リスナーに適用する代わりに要素を前方に渡すため、解釈されたとおりに実行されます(したがって、アニメーションがトリガーされます)マウスホバーイベントを待つのではなく、その行が解釈されるとすぐに)。

于 2012-06-30T02:18:05.383 に答える
1

どうぞ:

$('.logo').on('hover', function() { $(this).toggleClass('animated swing') });

さらに、聖霊降臨祭のあるクラスが良い考えかどうかはわかりません。animated-swing代わりに試してください。

于 2012-06-30T02:17:55.597 に答える