2013-08-05 144 views
0

使用此代碼來生成元素的隨機左側位置並將其設置爲該位置的動畫。動畫元素隨機左側位置

function moveBox() { 

    var randomSpeed = Math.round(Math.random()*200); 
    var bounceSpeed = defaultSpeed + randomSpeed; 

    var randomX = Math.round(Math.random()*200); 

    $("#box").animate({left:'"+='+randomX+'"', top:"+=20"},bounceSpeed, "linear", function(){moveBox();}); 
}; 

然而,它不工作出於某種原因。頂級動畫完美地工作,因爲它只是正常的數字。但是左邊的屬性並沒有做任何事情,我認爲它的方法我加了+ =和「」,但不知道如何解決它。

+1

'defaultSpeed'沒有任何地方在您的示例定義。 –

回答

3

你搞砸了引號。

假設randomX44,您正在構建"+=44"字符串而不是+=44,即您的字符串包含引號。

變化

$("#box").animate({left:'"+='+randomX+'"', top:"+=20"},bounceSpeed, "linear", function(){moveBox();}); 

$("#box").animate({left:'+='+randomX, top:"+=20"},bounceSpeed, "linear", function(){moveBox();}); 
+2

爲什麼downvote? –

+0

很酷,謝謝。現在作品:) – user1207524

+0

Downvote wasnt由我。 – user1207524