0

我有两个问题:1 - 对于具有输入值的函数我如何设置间隔我测试这个但现在工作

<script>
function bn(x)
{
alert (x);
}
setInterval("bn(x)",3000);
</script>
<a href="#" onclick="bn(1);">bn 1</a><br>

setInterval("bn()",3000);工作但显示“未定义”而不是“1”

一个 2- 如何设置重复两个值的意思是当重复这个函数时我尝试新值和函数重复两个值

<script>
function bn(x)
{
alert (x);
}
setInterval("bn(x)",3000);
</script>
<a href="#" onclick="bn(1);">bn 1</a><br>
<a href="#" onclick="bn(2);">bn 2</a>
4

2 回答 2

4

好的,我想我明白你想要什么;见下文:

对于您的第一个问题,您目前正在做的事情显然行不通(正如您可能已经想到的那样)。要解决这个问题,您必须使用匿名函数;下面的例子:

<script>
var x = 1;

function bn(x)
{
    alert (x);
}
setInterval(function() {
    bn(x);
},3000);

</script>

<a href="#" onclick="x = 1;">bn 1</a><br>
<a href="#" onclick="x = 2;">bn 2</a>

至于您的第二个问题,请参见上面的最后两行;由于该函数已经在运行,因此您需要控制的只是 的值x,并确保将其范围设置为一般,而不是特定于使用它的函数。

onclick 事件设置 的值x。我已经确保代码有效;如果该值设置为2,则将显示警报2等。

于 2012-05-21T03:38:07.450 回答
0
<script>
function bn(x) {
  alert(x);
}
setInterval(function() { bn(1) }, 3000)
</script>

bn每 3 秒调用一次并将值传递给它1

您之前未定义的原因是因为您试图传递x从未声明过的(在您发布的代码中)。

传递给函数的参数不必与函数参数同名。

<script>
var some_var = 1;
function bn(x) {
   alert(x);
}
setInterval(function() { bn(some_var) }, 3000);
</script>

将执行与前一个示例相同的操作,但您可以在脚本中的其他位置更改 some_var 并将更新后的值传递给 bn。

于 2012-05-21T03:45:07.447 回答