Javascript循环不会自行更新

时间:2012-09-15 16:51:14

标签: javascript

此代码似乎运行不正常:http://jsfiddle.net/5GEru/1/

var left = 0;
function mouvement(){
    var bouger = document.getElementById("bouge");    
    bouger.style.left= left;
    left++;

    mouvement();

}
window.onload = mouvement();​

变量自身递增,但不管怎样,每次运行函数时都不会重新应用左值。它保持在最初的0。

我做错了什么?

感谢您的提示!

3 个答案:

答案 0 :(得分:1)

您将浏览器与无效的CSS混淆。浏览器正在寻找一个单元。

尝试:

bouger.style.left = left + "px";

答案 1 :(得分:1)

您需要在左侧添加“px”。

bouger.style.left= left + "px";

当然,它运行得如此之快,你看不到任何事情发生,所以我有一个修改版本:

http://jsfiddle.net/5GEru/2/

此外,您的代码应该在某个时候终止。比如当左边变得比SOMETHING更大时。如果你当然使用jQuery,你可以这样做:

$(function(){
    $("#bouge").animate({"left": 500},2000);
});

请参阅:http://jsfiddle.net/5GEru/6/
    

答案 2 :(得分:1)

使用setInterval()一遍又一遍地执行一项功能

以下是使用setInterval()http://jsfiddle.net/5GEru/4/

的更新代码

此外,您需要在此行px

中添加bouger.style.left= left+'px';