Про кнопку я вообще не понял. Скрипт постоянно перезагружается, какие там кнопки?
Делайте через setInterval(). Схема грабежа корована такова:
пишется функция скажем check_task() которая достает из глобала номер текущей задачи (или имя). По которому через if else (switch) или .call (если имя) выполняет текущую поставленную задачу. Если эта задача потребует больше времени чем задано в setInterval все пройдет своим чередом: задача выполнится, скрипт поменяет номер-имя задачи и вывалится на очередное прерывание по таймеру который попросту не будет ждать, а сразу пошлет на следующую задачу.
Что это дает. Например запросто ожидать ответа сервера. Послали ему запрос и ждете тыкаясь в проверяемую переменную каждые 0.5 секунды, которую колбак сервера поменяет после успешного response. Поменял - поехали дальше.
Ну вот, когда есть такой бесконечный цикл его можно запускать и останавливать кнопкой Play/Stop.
setTimeout() это не Play.
|