0

私は現在、www.romneymakes.comに似たWebサイトで作業しています。ウェブサイトの右側にある赤いバナーをシミュレートする関数を作成したいと思います。1秒ごとにインクリメントするカウンターをプログラムしたい。

空白のWebページでプログラミングを実行しようとしましたが、コードが機能しません。誰かが私を助けてくれるかどうか知りたいのですが。私が使用しているコードは以下に貼り付けられています。

function counter() {
    var per_sec = c.per_second, num_of_sec = 0, total;
    per_sec += 0.74;
    num_of_sec++;

    var seconds = Math.floor(num_of_sec / 10);
    total = per_sec * seconds;

    window.alert( total );
  }


  setInterval('counter', 1000);
4

2 に答える 2

1

文字列をsetIntervalに渡すと、評価されます。その場合、'counter()'関数を呼び出すためにパスする必要があります。ただし、文字列を渡すよりも関数を渡す方が望ましいため、シナリオでは次のように記述できます。

setInterval(counter, 1000);

また、関数内で定義num_of_secしているので、関数呼び出しの間だけ存続します。カウンターが呼び出されるたびに0に設定されます。これらをグローバル変数として定義します。total num_of_sec

また、設定しているのは、最初の10秒間は(したがって、乗算するものはすべて)0になることseconds = Math.floor(num_of_sec / 10) を意味します。secondsこれは意図的なものですか?カウンターを1秒ごとではなく、10秒ごとに1回だけ増やしたい場合は、間隔の遅延として10000ではなく、通過したほうがよい場合があります。1000

于 2012-10-11T07:26:55.773 に答える
0

への変更:

setInterval(counter, 1000);

また、c定義されていません(おそらく、関数への引数として渡す予定の何か?):

c.per_second
于 2012-10-11T07:27:25.820 に答える