Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2014, 15:17
Интересующийся
Отправить личное сообщение для singmen Посмотреть профиль Найти все сообщения от singmen
 
Регистрация: 20.07.2014
Сообщений: 15

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

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

var inter = setInterval('rel_q()', 15000);
function reloads() {
var inter = setInterval('rel_q()', 15000);
}
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2014, 15:24
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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

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

вот есть статья на хабре
http://habrahabr.ru/post/78991/
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2014, 15:26
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

var уберите внутри reloads. Т.к. функция создает свою область видимости, тем самом var inter вне reloads и var inter вндутри - две разные переменные.
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2014, 15:26
Интересующийся
Отправить личное сообщение для singmen Посмотреть профиль Найти все сообщения от singmen
 
Регистрация: 20.07.2014
Сообщений: 15

если я в функции уберу переменную, я же потом не смогу остановить, в описании clearInterval стоит остановка через переменную
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2014, 15:27
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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

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


п.с. и писать лучше так: inter = setInterval(rel_q, 15000);
Ответить с цитированием
  #6 (permalink)  
Старый 22.08.2014, 15:48
Интересующийся
Отправить личное сообщение для singmen Посмотреть профиль Найти все сообщения от singmen
 
Регистрация: 20.07.2014
Сообщений: 15

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
setInterval ClearInterval vladimircape Events/DOM/Window 1 19.07.2013 15:22
проблема с setInterval / clearInterval max0n Общие вопросы Javascript 4 11.09.2012 12:12
таймер обратного отсчета (Setinterval и ClearInterval) Vampir3 Общие вопросы Javascript 1 11.08.2012 19:27
Проблема с setInterval и clearInterval kat-khmara Events/DOM/Window 5 25.06.2012 16:52
clearInterval и setInterval из разных локаций. Bakuryu Events/DOM/Window 6 27.07.2008 22:45