在动画和动画悬停在元素上时更改animate()速度

时间:2013-09-21 19:56:35

标签: javascript jquery animation

我需要使用jQuery animate()更改动画元素的速度。只有当用户将鼠标悬停在给定元素上时,速度才会发生变化。这是我到目前为止所做的,但似乎没有做任何事情。

    var speed = 2000;

    $('li').hover(
    function(){
        var speed = 500;
    }
    );

    $(function () {
       function drive() {
         $( ".plane" ).animate({
            "left": "+=50",
          }, speed, drive);
        } 
      drive();
    });

1 个答案:

答案 0 :(得分:1)

您需要修改全局变量速度,而不仅仅是在hover'functions回调中设置另一个局部变量。另请注意,悬停将执行两次以悬停,另一次悬停。

   var speed = 2000;

    $('li').hover(function(){
        speed += 500;
    });

    $(function () {
       function drive() {
         $( ".plane" ).animate({
            "left": "+=50",
          }, speed, drive);
        } 
      drive();
    });