положить setInterval, когда функция называется - PullRequest
0 голосов
/ 16 декабря 2010
var now = new Date();
var millisTill10 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 1, 20, 00, 0) - now;

function openAPage() {
    var startTime = new Date().getTime();
    var myWin = window.open("http://google.com","_blank")
    var endTime = new Date().getTime();
    var timeTaken = endTime-startTime;

    document.write("<br>button pressed@</br>")
    document.write(startTime);
    document.write("<br>page loaded@</br>")
    document.write(endTime);
    document.write("<br>time taken</br>")
    document.write(timeTaken);

    myWin.close()
}

function beginSequence() {
    openAPage();
    setInterval(openAPage, 5000);
}

setTimeout(beginSequence, millisTill10);

это мой js-код. Я открываю веб-страницу с setTimeout, как вы видите ... но после этого я хочу добавить внутреннее, например, я буду вызывать функцию openAPage каждую 1 минуту после выражения setTimeout ... как сделай это? Кто-нибудь может исправить мой код?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2010
setTimeout(startOpeningPages, millisTill10);

function startOpeningPages() {
   openAPage();
   setInterval(openAPage, 60 * 1000);
}
0 голосов
/ 16 декабря 2010

Я понимаю, что уже есть много правильных ответов. Я все равно выложу это для пинки :))

function() {
   var win = window.open("about:blank")
   var doc = win.document
   doc.write("Hello")
   setTimeout(arguments.callee, 60*1000)
}()

Это две из моих любимых вещей, которые вы можете сделать в Javascript: самовозврат функции (окончание () после объявления функции и возможность доступа к анонимной функции из функции через arguments.callee)

Это лучше, чем setInterval, так как первый процесс должен быть завершен , а затем 60 с, второй процесс запускается. С setInterval процесс только начинается каждые 60 с. 60-е годы - это большой интервал, где это не так важно, но обычно это имеет гораздо большее значение при меньших временах (в мс диапазонах). Потому что это может привести к буферизации второй функции до ее завершения.

...