0

我目前在一个类似于 www.romneymakes.com 的网站上工作。我想创建一个模拟网站右侧红色横幅的函数。我想编写一个每秒递增的计数器。

我试图在一个空白网页中进行编程,但代码不起作用。我想知道是否有人可以帮助我。我正在使用的代码粘贴在下面。

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

你也在设置seconds = Math.floor(num_of_sec / 10) 这意味着seconds(因此你乘以它的任何东西)将在前 10 秒内为 0。这是故意的吗?如果您希望您的计数器每 10 秒只增加一次,而不是每秒增加一次,那么您最好通过10000而不是1000间隔延迟。

于 2012-10-11T07:26:55.773 回答
0

改成:

setInterval(counter, 1000);

此外,c未定义(您可能打算将其作为参数传递给函数?):

c.per_second
于 2012-10-11T07:27:25.820 回答