此代码似乎运行不正常: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。
我做错了什么?
感谢您的提示!
答案 0 :(得分:1)
您将浏览器与无效的CSS混淆。浏览器正在寻找一个单元。
尝试:
bouger.style.left = left + "px";
答案 1 :(得分:1)
您需要在左侧添加“px”。
bouger.style.left= left + "px";
当然,它运行得如此之快,你看不到任何事情发生,所以我有一个修改版本:
此外,您的代码应该在某个时候终止。比如当左边变得比SOMETHING更大时。如果你当然使用jQuery,你可以这样做:
$(function(){
$("#bouge").animate({"left": 500},2000);
});
答案 2 :(得分:1)
使用setInterval()
一遍又一遍地执行一项功能
以下是使用setInterval()
,http://jsfiddle.net/5GEru/4/
此外,您需要在此行px
bouger.style.left= left+'px';