1

マウスオーバーで画像をアニメーション化しようとしていますが、mouseoutを使用せずに通常の位置にアニメーション化して戻したいと思います。

       $(document).ready(function() {
$("#bysti-menu li").mouseover(function(){

                var $elem = $(this);
                $elem.find('.uprmenuicon')
                      .animate({
                        'margin-top':'-40px'

                     },400,'easeOutBack').animate({
                        'margin-top':'0px'

                     },400,'easeOutBack')
}).mouseout(function(){
  // do nothing
}); 

});

ここで、画像の上にマウスを置くと、そのマージンは-40pxになりますが、その直後に、マウスがまだ出ていなくても0pxに正常になるようにしたいですか?誰かがこれで私を助けることができますか?

4

3 に答える 3

1

どのタイプのイベントが発生しているかをリッスンするように関数を設定できます: http://jsfiddle.net/dn9wD/1/

于 2012-07-03T22:54:22.797 に答える
0

サンプルデモ http://jsfiddle.net/R4bzf/(動作:マウスを黄色/オレンジ色のパネルの上にドラッグしてからマウスアウトします)

API.stopはトリックを行いますhttp://api.jquery.com/stop/

これがお役に立てば幸いです。何か見落としがあった場合はお知らせください。ありがとうございます

コード

$(this).stop() // Do whatever - .animate({ left: "-270" }, 500);
于 2012-07-03T22:45:22.517 に答える
0

jquery .animate() には、アニメーションが完了すると呼び出される「complete」パラメーターがあります。こちらのドキュメントを確認してください。

于 2012-07-03T22:42:39.530 に答える