0

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

    var speed = 2000;

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

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

1 回答 1

1

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

   var speed = 2000;

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

    $(function () {
       function drive() {
         $( ".plane" ).animate({
            "left": "+=50",
          }, speed, drive);
        } 
      drive();
    });
于 2013-09-21T19:58:02.490 回答