鼠标悬停动画边距和动画回来没有mouseout

时间:2012-07-03 22:29:03

标签: jquery jquery-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,即使鼠标尚未出现?任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

您可以设置自己的功能来监听正在发生的事件类型:http://jsfiddle.net/dn9wD/1/

答案 1 :(得分:0)

jquery .animate()有一个“完整”参数,一旦动画完成就会被调用。查看文档here

答案 2 :(得分:0)

示例演示 http://jsfiddle.net/R4bzf/(行为:将鼠标拖动到黄色/橙色面板上,然后执行鼠标移除)

API .stop将执行诀窍http://api.jquery.com/stop/

希望这会有所帮助,如果我遗漏了任何内容,请告诉我,谢谢

<强>码

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