1

ユーザーのマウスがその上にあるとき、メニューボタン(#menu_product)があり、メニューは下にスライドします(#about)。ただし、スライドアップ(非表示)する状態は確認できません。ロジックは、ボタンとメニューの両方がホバーされてから上にスライドしないことを確認する必要があるということです。しかし、メニューが上にスライドすることはないようです、それを修正するにはどうすればよいですか?ありがとう

$('#menu_product').live('mouseout',function() {
    if (!$('#about:hover')) {
        $("#about").slideUp("slow");
    }
});
4

3 に答える 3

1

以下を使用して、達成しようとしている効果を得る

$("#menu_product, #about").hover(
  function () {
    $("#about").stop();
    $("#about").slideDown("slow");
  }, 
  function () {
    $("#about").slideUp("slow");
  }
);

Jsfiddle: http://jsfiddle.net/np67k/

于 2012-12-21T14:53:42.163 に答える
0

JavaScript$('#about:hover')は常に有効な jquery オブジェクトを返すため、常に true になります。

関数はブール値を返すため$('#about').is(':hover')、代わりに次のようなものを使用してみてください。http://api.jquery.com/is/.is()

于 2012-12-21T14:39:37.210 に答える
0

#1 は使用しないでくださいlive。非推奨です。

これを試して:

$('#menu_product').on('mouseout',function() {
    var $about = $('#about').toggleClass('.hover');
    if (!$about.is('.hover')) {
        $about.slideUp("slow");
    }
});
于 2012-12-21T14:52:06.740 に答える