Javascript 延时开环环节

Javascript 延时开环环节,javascript,Javascript,我正在制作一个javascript,以便以某种html页面(不是我的页面)的快速方式打开几个链接。我的代码是: var a,b,c,d; a=document.getElementsByClassName("btn"); b=a.length; console.log(b); for (c = 1; c < b-1; c++) {tempo();abrir();} function tempo() {d=a[c].href;} function abrir () {window.ope

我正在制作一个javascript,以便以某种html页面(不是我的页面)的快速方式打开几个链接。我的代码是:

var a,b,c,d;
a=document.getElementsByClassName("btn");
b=a.length;
console.log(b);

for (c = 1; c < b-1; c++)
{tempo();abrir();}

function tempo() {d=a[c].href;}
function abrir () {window.open(d, '_blank');}
var a、b、c、d;
a=document.getElementsByClassName(“btn”);
b=a.长度;
控制台日志(b);
对于(c=1;c
代码工作正常,只是它一次打开所有链接,打开链接的服务器只打开第一个链接,将其他链接发送到主页。所以,我需要的是在打开链接之间设置一些时间

我现在已经读了一些书,并进行了很多测试,包括setTimeout()等等。 我希望它在没有任何输入的情况下工作,所以我不希望出现警报页面之类的内容

我的想法快用完了

已尝试:

for (c = 1; c < b-1; c++) {setTimeout(function(){tempo();abrir();},c*1000);}
for(c=1;c

for(c=1;c

没用…

试试这个。这样,每一个都将间隔一秒启动

for (c = 1; c < b-1; c++) {setTimeout(function(){tempo();abrir();},c*1000);}
for(c=1;c
好吧,由于javascript中的循环,我必须一个接一个地进行如下操作:

setTimeout(passarTempo1, tempoOff);
function passarTempo()
{tempo(1);abrir();}
setTimeout(passarTempo2, 2*tempoOff);
function passarTempo()
{tempo(1);abrir();}
// and so on...

如果它有下一个c,就像在其他语言中一样,这就不会发生…

setTimout出了什么问题?它停止了一段时间,然后立即打开所有其他链接。您可以尝试setInterval:
setInterval(function(){tempo();abrir();},3000)b+1
,而不是
b-1
它的b-2。但只打开最后一个。这意味着它运行for循环中的所有c值,并仅保留和运行最后一个值。。。
setTimeout(passarTempo1, tempoOff);
function passarTempo()
{tempo(1);abrir();}
setTimeout(passarTempo2, 2*tempoOff);
function passarTempo()
{tempo(1);abrir();}
// and so on...