1

私が持っているものは機能していますが、コードを書くためのより良い方法があるかどうかを確認したいと思います。また、マウスリーブで遅延が発生しています。実際のアニメーションは希望の速度で実行されていますが、マウスを離した後、何かが実行されるまでに約2〜3秒かかるようです。

CSSは最初はmargin-leftに設定されています:-64px

$('.homeButton').mouseover(function(){
  $('.homeButton').animate({marginLeft:'0px'},'slow');  
});

$('.homeButton').mouseleave(function(){
   $('.homeButton').animate({marginLeft:'-64px'},200);  
});
4

1 に答える 1

1

stophoverメソッドを使用できます。

一致した要素で現在実行中のアニメーションを停止します。

$('.homeButton').hover(function(){
     $(this).stop(true, true).animate({marginLeft:'0px'},'slow');  
}, function(){
     $(this).stop(true, true).animate({marginLeft:'64px'},'slow');  
})
于 2012-08-30T22:36:56.690 に答える