27

リンクの上にマウスを置いたときの簡単なスライド ダウン/アップ アニメーションが必要です。マウスオーバーを機能させることはできますが、マウスアウトを機能させる方法がわかりません。

ホバー効果のために私が持っているものは次のとおりです。

<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">

google.load("jquery", "1.3.2"); //load version 1.3.2 of jQuery

google.setOnLoadCallback(function() {
    jQuery(
        function($) {
            $("a.button").hover(function(){$(this).animate({"marginTop": "0px"}, "fast")   

        });
    });
});
</script>

マウスアウト時にマージンを16px上に移動するにはどうすればよいですか?

4

3 に答える 3

81

jQuery のホバー イベントには 2 つのコールバック関数が必要です。

$(item).hover(function() { ... }, function() { ... });

あなたの場合:

$("a.button").hover(
   function() {
      $(this).animate({"marginTop": "0px"}, "fast");
   },
   function() {
      $(this).animate({"marginTop": "16px"}, "fast");
   }
);
于 2009-07-12T16:27:50.623 に答える
21

jQueryの新しいバージョン(> = 1.7)では、次のアプローチを取ることもできます。

$("a.button").on('mouseenter',function(){
  $(this).animate({"marginTop": "0px"}, "fast");
});
$("a.button").on('mouseleave',function(){
  $(this).animate({"marginTop": "16px"}, "fast");
});

私の意見では、これはよりクリーンなアプローチであり、新しい.on()関数も利用しています(ドキュメントはこちら) 。

于 2012-02-24T16:08:09.693 に答える
1

より簡単な解決策:

$("a.button").hover(function() {
  $("a.button").css("cursor","pointer");
});
于 2010-11-19T00:01:45.510 に答える