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

Jquery-在动画结束前移除悬停,jquery,jquery-animate,tipsy,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.pn

代码如下:

 $('.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或单击之前,这将保持不变。对于工具提示,我使用的是tipsy。如果有帮助,我可以自己制作。

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

JQuery文档:

例如:

$('.left_slider').animate({left:"0"}, 500, function(){
    $(this).css('background-image','url(images/leftPanel/gear.png)').attr('title','Open');
    //Remove your hover events here
});

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

我所要做的就是添加

$(“.tipsy”).remove()

点击功能之后

因此,如果您正在处理jquery动画,并且对tipsy有问题,只需添加上面的代码即可

关于hover,我用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();
    }
 });

你试过在隐藏clickform之前调用
$(“.rightside”).mouseout
吗?嗯,我不太明白。悬停是css。我可以把它移到jquery中,但我还是醉了。我想我应该检查一下tipsy的隐藏功能,然后也加载它?谢谢Bouillou。在.animate()回调中删除包含悬停视觉效果的CSS类:.removeClass('myClass')听起来不错,但此解决方案将完全删除该类,这意味着下次将不会有此类,除非我创建新的jqury在悬停时添加该类。我会考虑从css转移到jquery悬停解决方案,这不是问题。只是想弄清楚现在是不是喝醉了。我按照u的建议,用jquery修复了背景悬停。现在我需要检查如何隐藏醉意。可能只是添加了一些功能,可以在点击时隐藏醉意。就在动画制作之前..可能会有帮助: