J
J
Jsman2015-10-01 22:17:40
JavaScript
Jsman, 2015-10-01 22:17:40

How to open links one by one?

Dear friends tell me how?
I have an html page with 150 divs (there is a link in them) I need the script to open each link at 3 minute intervals in a new tab. Initially, everything works well, but it opens all links at once when I prescribe setTimeout does not work =( Please tell me the error. How to set a timer to open a link?

var y = [document.getElementsByTagName("div")];
    for(var i = 0; i < y[0].length; i++){
      setTimeout('window.open(y[0][i].innerHTML)' , 30000000);
    }

Answer the question

In order to leave comments, you need to log in

2 answer(s)
D
Denis Ineshin, 2015-10-01
@SeniorDmitry

More or less like this:

var counter = 0,
    divs = document.getElementsByTagName("div"),
    linksNumber = divs.length,
    delay = 10000;

function openLink () {
    var url = divs[counter].innerHTML;
    window.open(url);

    if (counter < length) {
        counter++;
        setTimeout(openLink, delay);
    }
}

setTimeout(openLink, delay);

J
Jsman, 2015-10-01
@SeniorDmitry

Thank you very much everything worked out, only there was one mistake)
var counter = 0,
divs = document.getElementsByTagName("div"),
linksNumber = divs.length,
delay = 10000;
function openLink () {
var url = divs[counter].innerHTML;
window open(url);
if (counter < linksNumber ) {
counter++;
setTimeout(openLink, delay);
}
}
setTimeout(openLink, delay);

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question