2013-09-21 55 views
0

我需要更改使用jQuery animate()進行動畫的元素的速度。只有在用戶懸停在給定元素上時,速度纔會改變。這是迄今爲止我所擁有的,但它似乎沒有做任何事情。更改animate()速度,同時它動畫並將鼠標懸停在元素上

var speed = 2000; 

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

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

回答

1

您需要修改全局變量速度,而不是在hover'functions回調中設置另一個局部變量。另外請注意,懸停將執行兩次,一次懸停,另一次懸停。

var speed = 2000; 

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

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