逐个显示javascript项目并有不同的延迟

问题描述 投票:0回答:2

我在HTML页面上有一个标题,我想通过一个String数组循环一次,然后我把它弄清楚了。但现在我的问题是,是否有可能在一个或两个特定的数组项上有更长的延迟?

我的代码:

var sentences = [   "1", "2", "3", "4", "5"];
  var n = 0;

  setInterval(function() {
   if(n <= sentences.length) {
    document.getElementById("headerCH").innerHTML = sentences[n++];
    }
  }, 1000);
javascript html
2个回答
0
投票
var sentences = ["1", "2", "3", "4", "5"];
var n = 0;
var x = document.getElementById("el-id");

(function loop() {
    x.innerHTML = sentences[n];
    if (++n < sentences.length) {
        setTimeout(loop, 1000);
    }
})();

如果您希望每个字符的单独延迟将它们存储在如下所示的数组中,并将setTimeout行更改为以下内容

var delay = [1000, 2000, 3000, 4000, 5000];
setTimeout(loop, delay[n]);

这样,您就可以根据需要为每个角色指定延迟。


-1
投票
var sentences = [   "1", "2", "3", "4", "5"];
 for(var n=0;n<sentences.length;n++){
if(n==1){
setInterval(function() {
 document.getElementById("headerCH").innerHTML =     sentences[n];
},2000);
}
else{
setInterval(function() {
document.getElementById("headerCH").innerHTML = sentences[n];
}, 1000);
}
if(n==4){n=0;}
}
© www.soinside.com 2019 - 2024. All rights reserved.