Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:我如何让数组倒计时10秒?_Javascript_Arrays - Fatal编程技术网

JavaScript:我如何让数组倒计时10秒?

JavaScript:我如何让数组倒计时10秒?,javascript,arrays,Javascript,Arrays,我想倒计时,从10秒到1秒。当前秒/索引应打印在div标记中。但它不显示数字,而是进入函数。它没有结束,所以它进入了一个永无止境 ` var myCountdown=[1,2,3,4,5,6,7,8,9,10] setInterval(timer(), 1000); timer = () => { for(i = 0; i < myCountdown.length; i++){ console.log(myCountdown[i]);

我想倒计时,从10秒到1秒。当前秒/索引应打印在div标记中。但它不显示数字,而是进入函数。它没有结束,所以它进入了一个永无止境

`

var myCountdown=[1,2,3,4,5,6,7,8,9,10]

  setInterval(timer(), 1000);
  timer = () => {

      for(i = 0; i < myCountdown.length; i++){

        console.log(myCountdown[i]);
        document.getElementById("test").innerHTML += myCountdown[i];

    }}
setInterval(timer(),1000);
计时器=()=>{
对于(i=0;i
`


试试这个

,正如蒂姆在评论中提到的那样,你必须停止间歇

var token = setInterval(timer, 1000); // Set the timer function to run every 1000ms until we tell it to stop.
var element = document.getElementById("test");
var i = 10;
function timer() {

    if (i <= 0) {
        clearInterval(token); // Stop counting down.
    } else {
        i -= 1; // Count down.
        element.innerHTML = i;
    }

}
var-token=setInterval(计时器,1000);//将计时器功能设置为每1000毫秒运行一次,直到我们告诉它停止。
var元素=document.getElementById(“测试”);
var i=10;
函数计时器(){

如果(i如果你真的想使用数组,下面是解决方案:

const倒计时=['1'、'2'、'3'、'4'、'5']
let timer=setInterval(()=>{
if(countdown.length)document.getElementById(“test”).innerHTML=countdown.shift();
else clearInterval(计时器)
}, 1000)
为演示运行此代码段:

const倒计时=['1'、'2'、'3'、'4'、'5']
let timer=setInterval(()=>{
if(countdown.length)document.getElementById(“test”).innerHTML=countdown.shift();
else clearInterval(计时器)
},1000)
正文{
颜色:#fff;
背景:番茄;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}

只有在显式终止间隔时才会终止间隔(请参阅)。实际上,函数
timer
将只被调用一次。行
setInterval(timer(),1000);
应读取
setInterval(timer,1000);
否则将调用
timer()
,并将结果传递给
setInterval
var token = setInterval(timer, 1000); // Set the timer function to run every 1000ms until we tell it to stop.
var element = document.getElementById("test");
var i = 10;
function timer() {

    if (i <= 0) {
        clearInterval(token); // Stop counting down.
    } else {
        i -= 1; // Count down.
        element.innerHTML = i;
    }

}