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

但是由于某种原因它不起作用。顶级动画完美无瑕,因为它只是正常的数字。但是 left 属性没有做任何事情,我认为它与我添加 += 和 "" 的方法有关,但无法弄清楚如何修复它。

4

1 回答 1

3

你把引号弄乱了。

假设randomX44,您正在构建"+=44"字符串而不是+=44,即您的字符串包含引号。

改变

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

$("#box").animate({left:'+='+randomX, top:"+=20"},bounceSpeed, "linear", function(){moveBox();});
于 2013-08-05T14:09:19.187 回答