Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ускоряющийся таймер


Автор: bars80080 7.12.2009, 17:30
помню было какое-то решение.

но давно и не правда


есть примерно такой код:

Код

var flag = false;
function f1() {
    flag = true;
    // ...
    flag = false;
    setTimeout('f2()', 40);
    return true;
}
function f2() {
    if(flag) { return false; }
    // ...
    setTimeout('f2()', 40);
    return true;
}

то есть логика примерно такая: есть стартовая функция f1, которая высчитывает определённые параметры, затем по этим параметрам функция f2 выполняет нужные задачи и перезапускается.
в момент каждого следующего запуска f1() происходит пересчёт параметров, и чтобы не было всяких бед, функция f2 на это время останавливается /хотя спорно, возможно ли выполнение двух функций одновременно/, ну да ладно.

однако, получается такая фигня, что новый таймер наслаивается на следующий, то есть процесс выполнения ускоряется.

задать глобальную переменную: timer1 = setTimeout('f2()', 40); и очищать её:     if(flag) { clearTimeout(timer1); return false; } - не помогло

вот как с этим поступить?

Автор: bars80080 7.12.2009, 18:27
чёрт знает. пока правил скрипт касательно других вопросов, этот решился сам собой.

хотя с таймерами вроде ничего не делал

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)