使用jquery animate()api并且无法让它停止弹跳

时间:2010-08-16 15:12:46

标签: jquery

当前代码:

$(document).ready(function(){
    $('#go').hover(
        function(){ // Change the input image's source when we "roll on"
            $(this).animate({"top": "-=100px"}, 50, "linear", function(){
              $(this).animate({"top": "+=100px"}, 50);
            });
            $(this).attr({ src : '/gfx/go_over.png'});
        }          
    );
});

基本上我希望我的按钮弹起并改变状态,然后当它恢复时它会保持在那个改变的状态。在翻转时,我希望反过来发生。

我不确定我在这里做什么,因为每次它降落时它都会再次徘徊和反弹。

1 个答案:

答案 0 :(得分:0)

如果您将单个功能传递给.hover(),则会在mouseenter mouseleave事件上执行,如果您只是希望它发生一次移动元素,直接使用.mouseenter(),如下所示:

$(function(){
  $('#go').mouseenter(function(){
    $(this).animate({"top": "-=100px"}, 50, "linear", function(){
      $(this).animate({"top": "+=100px"}, 50);
    });
    $(this).attr({ src : '/gfx/go_over.png'});
  });
});