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/

また、コードはある時点で終了する必要があります。たとえば、左が何かより大きくなるときのように。もちろん、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 に答える