0

コードは次のとおりです。

 $('.rightside').click(function(){
    if($('#clickForm').is(":visible")) {
       $('#clickForm').hide("slide", { direction: "left" }, 500);
       $('.left_slider').animate({left:"0"}, 500).css('background-image','url(images/leftPanel/gear.png)').attr('title','Open');

       $("#blackbg").hide();
    }
    else
    {
       $('#clickForm').show("slide", { direction: "left" }, 500);
       $('.left_slider').animate({left:"314px"}, 500).css('background-image','url(images/leftPanel/close.png)').attr('title','Close');
        $("#blackbg").show();
    }
 });

問題はこれです。これがアニメーション前の写真です

アニメーションの前

とアニメーションの後

後

これは、マウスを少なくとも1px動かすか、クリックするまで、このままです。ツールチップには、ほろ酔いを使用しています。それが助けになるなら、私は自分で作ることができます。

4

2 に答える 2

1

ホバーの場合、.animate() コールバックを使用して、アニメーション後にホバー イベントを削除します

JQuery ドキュメント: http://api.jquery.com/animate/

例:

$('.left_slider').animate({left:"0"}, 500, function(){
    $(this).css('background-image','url(images/leftPanel/gear.png)').attr('title','Open');
    //Remove your hover events here
});
于 2012-09-20T10:16:03.963 に答える
0

他の誰かが同じ問題を抱えている場合、私自身の質問に答えるには:

私がしなければならなかったのは追加することだけです

$(".tipsy").remove();

クリック直後の機能。

したがって、jquery アニメーションを使用していて、ほろ酔いに問題がある場合は、上記のコードを追加するだけです。

ホバーに関しては、jqueryでやった。これを行うためのより簡単で「正しい」方法があったかもしれませんが、それまでは次の方法で行います。

    $('.rightside').click(function(){
    $(".tipsy").remove();
    if($('#clickForm').is(":visible")) {
       $('#clickForm').hide("slide", { direction: "left" }, 500);

       $('.left_slider').animate({left:"0"}, 500).css({'background-image':'url(images/leftPanel/gear.png)',
                     'background-color':'#fff'}).attr('title','Open');

       $("#blackbg").hide();
    }
    else
    {
       $('#clickForm').show("slide", { direction: "left" }, 500);
        $('.left_slider').animate({left:"314px"}, 500).css({'background-image':'url(images/leftPanel/close.png)',
                     'background-color':'#fff'}).attr('title','Close');

       $("#blackbg").show();
    }
 });
于 2012-09-20T11:15:27.060 に答える