Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   функции set и clear interval (https://javascript.ru/forum/misc/33789-funkcii-set-i-clear-interval.html)

Vampir3 08.12.2012 13:52

функции set и clear interval
 
можно ли сделать функцию, которая будет останавливать интервал in?

function startInt() {
     var in = setInterval('alert("some text")',5000);
}

function clearInt() {
     clearInterval(in);
}

этот способ не работает, но думаю суть понятна

ruslan_mart 08.12.2012 13:54

function startInt() {
     in = setInterval('alert("some text")',5000);
}
 
function clearInt() {
     clearInterval(in);
}

Vampir3 08.12.2012 13:59

Цитата:

Сообщение от iMaxmaxmaximus (Сообщение 220233)
я вот ваще вопроса не понял


нет неьзя, потому что нельзя создать переменную с именем in

можно сделать in как свойство какого нибудь обьекта и хранить айдишник интервала в этом свойстве
или придумать более адекватное название для переменной.



да, забыл совсем об этом
название переменной может быть любое,суть в тoм, как остановить интервал заданный функцией

melky 08.12.2012 14:31

Цитата:

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

setInterval возвратит число intervalId. этот intervalId нужно передать в clearInterval. и это всё.

в вашем коде это не работает, потому что переменная локальная, и после выполнения startInt её убирает сборщик мусора.

как вариант, можно сделать переменную глобальной. см пример Ruslan_xDD


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