在间隔基准HTML、Javascript中绑定值

在间隔基准HTML、Javascript中绑定值,javascript,html,Javascript,Html,嗨,这是我的代码,我需要绑定如下值: 输出:测试测试 这是我的代码,但正在工作 <script type="text/javascript"> function delayMsg2() { var timer = null; if (timer == null) { timer = setInterval(rudy(), 1000); } else {

嗨,这是我的代码,我需要绑定如下值:

输出:测试测试

这是我的代码,但正在工作

     <script type="text/javascript">

    function delayMsg2() {
      var timer = null;

        if (timer == null)
    {

            timer = setInterval(rudy(), 1000);
        }
        else 
        {
            clearInterval(timer);
            timer = null;
        }
    }

    function rudy() 
    {   

   document.getElementById("output2").innerHTML = document.getElementById("output2").innerHTML + " test";


    }
  </script>     
     <div>
    <button onclick="delayMsg2();" >Click me!</button>
    <span id="output2"></span>
   </div>

函数delayMsg2(){
var定时器=null;
如果(计时器==null)
{
定时器=设置间隔(rudy(),1000);
}
其他的
{
清除间隔(计时器);
定时器=空;
}
}
函数rudy()
{   
document.getElementById(“output2”).innerHTML=document.getElementById(“output2”).innerHTML+“测试”;
}
点击我!

我需要更改的内容

您必须修复setInterval声明

timer = setInterval(function(){rudy()}, 1000);

这是一个。

您必须修复setInterval声明

timer = setInterval(function(){rudy()}, 1000);
这是一封信。

更改了您的线路

timer = setInterval(rudy(), 1000);

换了你的台词

timer = setInterval(rudy(), 1000);


直接引用您的函数rudy:

timer = setInterval(rudy, 1000);
不需要像其他答案那样写一个结尾


你的代码有什么问题?在执行delay2msg时执行rudy(),并将返回值(为void)传递给setInterval()方法。不好:)

直接引用函数rudy:

timer = setInterval(rudy, 1000);
不需要像其他答案那样写一个结尾


你的代码有什么问题?在执行delay2msg时执行rudy(),并将返回值(为void)传递给setInterval()方法。不好:)

用这个代码更改代码,这也将解决启动/停止间隔的问题

var timer = null;
function delayMsg2() {
    if (timer == null) {
        timer = setInterval(rudy, 1000);
    } else {
        clearInterval(timer);
        timer = null;
    }
}

function rudy() {   
    document.getElementById("output2").innerHTML = document.getElementById("output2").innerHTML + " test";
}

使用此代码更改您的代码,这也将解决您的启动/停止间隔问题

var timer = null;
function delayMsg2() {
    if (timer == null) {
        timer = setInterval(rudy, 1000);
    } else {
        clearInterval(timer);
        timer = null;
    }
}

function rudy() {   
    document.getElementById("output2").innerHTML = document.getElementById("output2").innerHTML + " test";
}

setInterval(鲁迪,1000)
,删除
()
,否则它将立即执行。您的计时器可变范围已绑定到功能,因此此间隔不会停止,请参阅演示
设置间隔的我的答案(rudy,1000)
,删除
()
,否则它将立即执行。您的计时器可变范围已绑定到功能,因此此间隔不会停止,请参阅我的答案和演示