jQueryに非常に単純な問題があり、解決策が見つからないようです。mouseOverとmouseOutの効果がありますが、mouseOutであるにもかかわらず、クリックしてボックスを開いたままにする場合は、ひねりが必要です。
これが私がこれまでに持っているものの例です:
前もって感謝します !
$(".rock").click(function() {
$('.rock').unbind('mouseout');
});
.rockクリックでmouseoutイベントのバインドを解除します。
イベントのバインドを解除する必要があります。そうすれば、イベントは永久に開いたままになります。
$(".rock").click(function() {
$(this).off('mouseout');
複数の mouseOut イベントがある場合は、それらに名前を付けて、問題の 1 つだけを削除することをお勧めします (上記のコードは、.rock
要素にバインドされたすべての mouseOut イベントを削除します)。
これを試してみてください
$(".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");
});