1

我试图在鼠标悬停时为图像设置动画,我希望它在不使用鼠标悬停的情况下动画回到正常位置。

       $(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,即使鼠标还没有出来?任何人都可以帮助我吗?

4

3 回答 3

1

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

于 2012-07-03T22:54:22.797 回答
0

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

于 2012-07-03T22:42:39.530 回答
0

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

API.stop可以解决问题http://api.jquery.com/stop/

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

代码

$(this).stop() // Do whatever - .animate({ left: "-270" }, 500);
于 2012-07-03T22:45:22.517 回答