繁体   English   中英

如何正确实现带有循环和onclick函数的setInterval?

[英]How to implement setInterval with loop and onclick function correctly?

我学习Javascript,只是试图了解如何在不同情况下使用setInterval。 现在我遇到了问题,请有人向我解释错误在哪里以及如何正确执行。

问题情况:

我想通过单击从计数器获取新坐标并将其记录下来。 例如,我单击一个按钮,控制台向我显示:2000 ms之后为0,2000 ms 2之后为2000,2000 ms 3之后为1,依此类推。

例如,我们有一个函数可以对坐标进行处理,只需控制台日志就足够了:

var showUs = function(coordinate){

console.log(coordinate)
}

另一个功能是增加它的计数器:

var increase = function(){

    for(var i = 0; i < 50; i+=1){
       showUs(i);
     }
  }

最后一个是应该显示带有间隔的坐标的函数:

somebuttom.onclick = function(){

   setInterval(function(){ increase() }, 2000);
}

刚刚注意到您的更新。 如果您想这样做,请尝试以下方法:

演示

var somebutton = document.getElementById('somebutton');

var showUs = function(coordinate){

console.log(coordinate)
}

var increase = function(){
    var i = 0;
    var si = setInterval(function(){
        if(i < 50){
             showUs(i);
             i++;
        }else{
             clearInterval(si);   
        }
    }, 2000);
}

somebutton.onclick = function(){
  increase();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM