Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   остановка выполнения setInterval (https://javascript.ru/forum/misc/17366-ostanovka-vypolneniya-setinterval.html)

olejan 16.05.2011 16:09

остановка выполнения setInterval
 
необходимо, чтобы выполнение setInterval заканчивалось через заданный промежуток времени или по достиженнии желаемого эффекта. Как это сделать?:help:

ksa 16.05.2011 16:24

Цитата:

Сообщение от olejan
или по достиженнии желаемого эффекта. Как это сделать?

Не использовать setInterval() и перейти на setTimeout()...

nikita.mmf 16.05.2011 16:34

var startTime = new Date().getTime(),
    intervalTimer = setInterval(function(){
        var currTime = new Date().getTime();
        if ( currTime - startTime > /* время через каторое должен остановиться скрипт */ || actionComplete ) {
           clearInterval ( intervalTimer );/* останавливаем setInterval */
        }
    }, /* ваш интервал */)

olejan 16.05.2011 16:54

спс ,сейчас попробуем

olejan 16.05.2011 17:08

функция все равно продолжает запускаться

olejan 16.05.2011 17:29

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

dmitriymar 16.05.2011 17:55

olejan,
setInterval выполняет код каждый н промежуток времени.если не возможно код выполнить(поток занят-возникает очень часто если интервалы между вызовами меньше времени действия кода) то выполнение ставиться в очередь . clearInterval сбросит setInterval ,но поставленные в очередь выполнения не отменит

ksa 16.05.2011 23:19

Цитата:

Сообщение от olejan
если использовать сет тайм аут ,то функция выполняется один раз и все

Это смотря как использовать... От тебя пока нет ни одного тестового примера. Что ты там делаешь мы не видим...


Часовой пояс GMT +3, время: 17:48.