2013-08-05 3 views
0

Im utilisant ce code pour générer une position gauche aléatoire d'un élément et l'animer à cette position.Animer l'élément dans la position de gauche aléatoire

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();}); 
}; 

Cependant, cela ne fonctionne pas pour une raison quelconque. L'animation supérieure fonctionne parfaitement parce que son nombre juste normal. Mais la propriété de gauche ne fait rien, je pense que c'est quelque chose avec la méthode que j'ai ajouté le + = et "" mais je n'arrive pas à comprendre comment le réparer.

+1

'defaultSpeed' est définie nulle part dans votre exemple. –

Répondre

3

Vous avez foiré les citations.

Supposant randomX est 44, vous construisez la chaîne "+=44" au lieu de +=44, qui est votre chaîne contient des guillemets.

changement

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

à

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

Pourquoi la downvote? –

+0

Cool, merci. Fonctionne maintenant :) – user1207524

+0

Downvote wasnt par moi. – user1207524