5

jQueryに非常に単純な問題があり、解決策が見つからないようです。mouseOverとmouseOutの効果がありますが、mouseOutであるにもかかわらず、クリックしてボックスを開いたままにする場合は、ひねりが必要です。

これが私がこれまでに持っているものの例です:

jsfiddle

前もって感謝します !

4

4 に答える 4

8
$(".rock").click(function() {
      $('.rock').unbind('mouseout');
});

.rockクリックでmouseoutイベントのバインドを解除します。

于 2012-07-09T10:15:37.107 に答える
1

イベントのバインドを解除する必要があります。そうすれば、イベントは永久に開いたままになります。

ここで更新されたフィドルを作成しました

于 2012-07-09T10:15:11.217 に答える
0
$(".rock").click(function() {
     $(this).off('mouseout');

複数の mouseOut イベントがある場合は、それらに名前を付けて、問題の 1 つだけを削除することをお勧めします (上記のコードは、.rock要素にバインドされたすべての mouseOut イベントを削除します)。

于 2012-07-09T10:14:10.960 に答える
-1

これを試してみてください

    $(".rock").hover(function() {
    $(".box_content.rock").stop().animate(
          {"height": "100px"},
          "normal");
    $(".box.rock").stop().animate(
          {"height": "140px"},
          "normal");
    $(".hide.rock").removeClass("hide").addClass("show");
    })

    $('.box_content.rock').click(function(){    
    $('.box_content.rock').unbind("hover");
    });
于 2012-07-09T10:26:06.657 に答える