我目前正在开发类似于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);
答案 0 :(得分:1)
如果将字符串传递给setInterval,则会对其进行评估。在这种情况下,您必须通过'counter()'
来调用该函数。但是最好传递一个函数,而不是传递一个字符串,所以在你的场景中你可以简单地写:
setInterval(counter, 1000);
您还要在函数中定义num_of_sec
和total
,这意味着它们只会在函数调用期间生效。每次调用计数器时,num_of_sec
都将设置为0。将这些定义为全局变量。
您还设置seconds = Math.floor(num_of_sec / 10)
,这意味着seconds
(因此您乘以的任何内容)在前10秒内将为0。这是故意的吗?如果您希望计数器每10秒钟增加一次,而不是每秒增加一次,那么最好不要将10000
而不是1000
作为间隔延迟传递。
答案 1 :(得分:0)
更改为:
setInterval(counter, 1000);
此外,c
未定义(您打算作为函数的参数传递给某个函数?):
c.per_second