Jquery 在鼠标悬停时,设置边距动画,并在没有鼠标悬停的情况下设置后退动画

Jquery 在鼠标悬停时,设置边距动画,并在没有鼠标悬停的情况下设置后退动画,jquery,jquery-animate,Jquery,Jquery Animate,我试图在鼠标上方设置一个图像的动画,我希望它在不使用mouseout的情况下恢复到正常位置 $(document).ready(function() { $("#bysti-menu li").mouseover(function(){ var $elem = $(this); $elem.find('.uprmenuicon') .animate({

我试图在鼠标上方设置一个图像的动画,我希望它在不使用mouseout的情况下恢复到正常位置

       $(document).ready(function() {
$("#bysti-menu li").mouseover(function(){

                var $elem = $(this);
                $elem.find('.uprmenuicon')
                      .animate({
                        'margin-top':'-40px'

                     },400,'easeOutBack').animate({
                        'margin-top':'0px'

                     },400,'easeOutBack')
}).mouseout(function(){
  // do nothing
}); 
}))


在这里,当我把鼠标放在图像上时,它的边距变成了-40px,但我想在那之后,它立即变成正常的0px,即使鼠标还没出来?有人能帮我吗

jquery.animate()有一个“complete”参数,动画完成后将调用该参数。检查文档。

jquery.animate()有一个“complete”参数,动画完成后将调用该参数。检查文档。

示例演示(行为:将鼠标拖动到黄色/橙色面板上,然后执行鼠标移出操作)

API
.stop
就可以了

希望这有帮助,如果我错过了什么,请告诉我,thanx

代码

$(this).stop() // Do whatever - .animate({ left: "-270" }, 500);

示例演示(行为:将鼠标拖动到黄色/橙色面板上,然后执行鼠标移出)

API
.stop
就可以了

希望这有帮助,如果我错过了什么,请告诉我,thanx

代码

$(this).stop() // Do whatever - .animate({ left: "-270" }, 500);


你可以设置你的函数来监听发生了什么类型的事件:

你可以设置你的函数来监听发生了什么类型的事件:

我有,但它仍然不工作,我想在没有鼠标的情况下将高度恢复到0px,我想
。stop
可以停止动画,请看下面的演示
:)
i有,但它仍然不起作用,我想在没有鼠标的情况下将高度恢复到0px。我想,
。停止
可以停止动画,请参见下面的演示:)朋友感谢JSFIDLE示例。但你看,当我移动我的鼠标的div,然后是恢复正常。我想让它像左边一样动画:“-270”,同时自动返回到0px,而无需我将鼠标移出该div。@SakshiSharma Hiya
:)
嗯,你能弹一下示例演示吗?我可能可以帮你,谢谢,well@eivers88让它按照我想要的方式工作,但是对于同一级别的6幅图像,它的动画图像在鼠标上超过了任何sol to的一次tht@SakshiSharma不用担心,
B-
再见!朋友,感谢您提供的JSFIDLE示例。但你看,当我移动我的鼠标的div,然后是恢复正常。我想让它像左边一样动画:“-270”,同时自动返回到0px,而无需我将鼠标移出该div。@SakshiSharma Hiya
:)
嗯,你能弹一下示例演示吗?我可能可以帮你,谢谢,well@eivers88让它按照我想要的方式工作,但是对于同一级别的6幅图像,它的动画图像在鼠标上超过了任何sol to的一次tht@SakshiSharma不用担心,
B-
再见!好的,这一个工作,但我的图像反弹了很多次,这是因为我有6个相同级别的图像吗?任何thtadd
队列的sol:false
持续时间后谢谢它做了一点工作,但仍然假设图像的宽度为60px,我的鼠标在图像的左侧。当我将鼠标悬停在左侧时,它会像我所希望的那样动画化和停止,但如果我的鼠标稍微向右移动,它会再次开始动画化吗?为什么会这样?我已经接受了这个答案,因为这是一个巨大的帮助。感谢uNo的问题,很高兴我能帮助一些人!是否尝试将其设置为只设置一次动画?或者你想降低悬停区域的灵敏度?你可以考虑使用setTimeout()和一个变量作为某种临时关闭开关,试试看,但是如果你对此有问题,我会把它作为一个单独的问题发布。这个问题很有效,但是我的图像反弹了很多次,这是因为我有6张相同级别的图像吗?任何关于thtadd的sol
queue:false
持续时间后谢谢它做得很好,但是仍然假设图像的宽度是60px,我的鼠标在左边图像的侧面。当我将鼠标悬停在左侧时,它会像我所希望的那样动画化和停止,但如果我的鼠标稍微向右移动,它会再次开始动画化吗?为什么会这样?我已经接受了这个答案,因为这是一个巨大的帮助。感谢uNo的问题,很高兴我能帮助一些人!是否尝试将其设置为只设置一次动画?或者你想降低悬停区域的灵敏度?你可以考虑使用setTimeout()和一个变量作为某种临时关闭开关,尝试一下,但是如果你有问题,我会把它作为一个单独的问题发布。