0

此代码似乎运行不佳: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。

我究竟做错了什么?

谢谢你们的提示!

4

3 回答 3

1

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

尝试:

bouger.style.left = left + "px";
于 2012-09-15T16:53:04.603 回答
1

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

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

当然,它也跑得很快,你什么都看不到,所以我有一个修改版本:

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

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

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

见: http: //jsfiddle.net/5GEru/6/
​</p>

于 2012-09-15T16:54:01.923 回答
1

用于setInterval()一遍又一遍地执行一个功能,

这是您使用的更新代码setInterval()http://jsfiddle.net/5GEru/4/

您还需要px在此行中添加,bouger.style.left= left+'px';

于 2012-09-15T16:56:07.650 回答