Jquery - 在动画结束前删除悬停

时间:2012-09-20 10:04:52

标签: jquery jquery-animate tipsy

以下是代码:

 $('.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();
    }
 });

问题是这个。这是动画前的图片

before animation

并在动画之后

after

这样保持这样,直到我移动鼠标至少1px或点击。对于工具提示,我使用的是醉意的。如果有帮助,我可以自己制作。

2 个答案:

答案 0 :(得分:1)

对于悬停,请使用.animate()回调删除动画后的悬停事件

JQuery Doc: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
});

答案 1 :(得分:0)

如果其他人遇到同样的问题,请回答我自己的问题:

我必须做的是添加

$( “喝醉了。”)除去();

点击功能后。

因此,如果您正在使用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();
    }
 });