我使用此代码生成元素的随机左侧位置并将其设置为该位置的动画。
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();});
};
然而由于某种原因它不起作用。顶级动画完美无缺,因为它只是正常的数字。但左边的属性没有做任何事情,我认为它的方法我添加了+ =和""但无法弄清楚如何解决它。
答案 0 :(得分:3)
你搞砸了报价。
假设randomX
为44
,您构建的是"+=44"
字符串而非+=44
,即您的字符串包含引号。
更改
$("#box").animate({left:'"+='+randomX+'"', top:"+=20"},bounceSpeed, "linear", function(){moveBox();});
到
$("#box").animate({left:'+='+randomX, top:"+=20"},bounceSpeed, "linear", function(){moveBox();});