Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   setInterval и clearInterval (https://javascript.ru/forum/misc/49650-setinterval-i-clearinterval.html)

singmen 22.08.2014 15:17

setInterval и clearInterval
 
Здравствуйте, делаю свои комментарии и появилась проблема с обновлением.

Обновление происходит так, зашел на страницу, обновляется каждые 15 секунд (1 строка), если открыли поле "комментировать" то обновление тормозится clearInterval(inter); во избежания исчезновения поля через 15 секунд. после отправления комментария идет запуск функции reloads() после запуска функции ее уже не остановить снова, в чем проблема?

var inter = setInterval('rel_q()', 15000);
function reloads() {
var inter = setInterval('rel_q()', 15000);
}

skrudjmakdak 22.08.2014 15:24

я думаю это из за переменной. вы в функции делайте объявление переменной (т.е. вы будете работать внутри не с глобальной переменной а с той что внутри функции). если переменную не объявлять, то вы будете работать с глобальной переменной))

если не поняли объясню еще раз

вот есть статья на хабре
http://habrahabr.ru/post/78991/

Tek 22.08.2014 15:26

var уберите внутри reloads. Т.к. функция создает свою область видимости, тем самом var inter вне reloads и var inter вндутри - две разные переменные.

singmen 22.08.2014 15:26

если я в функции уберу переменную, я же потом не смогу остановить, в описании clearInterval стоит остановка через переменную

skrudjmakdak 22.08.2014 15:27

вам надо убрать var, но не саму переменную:

var inter = setInterval('rel_q()', 15000);
function reloads() {
inter = setInterval('rel_q()', 15000);
}


п.с. и писать лучше так: inter = setInterval(rel_q, 15000);

singmen 22.08.2014 15:48

Благодарю, получилось, вы волшебники =)


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