Убедитесь, что конкретный экземпляр функции setInterval запускается только один раз

Я работаю над div (родительским), который имеет два других div (меню и содержимое), как показано ниже:

<div id="parent">
  <div id="menu"></div>
  <div id="content"></div>
</div>

Содержимое, загруженное в div содержимого, представляет собой html-файл, в котором есть несколько Функции javascript, такие как автоматическое обновление, которое перезагружает его содержимое каждые 5 секунд.

$(document).ready(function () {
  setInterval(function () {
    grid.reloadDefaultContent(); //this reloads the content on content div.
  }, 5000);
}

На странице есть несколько ссылок, которые загружают различное содержимое в div содержимого. Пока все хорошо, пока я не вернусь в «дом», где есть функция автообновления. Проблема в том, что автоматическое обновление никогда не прекращалось, и теперь, когда я снова щелкнул, чтобы вернуться домой, функция запускается дважды (или сколько раз я меняю страницу и возвращаюсь домой), устанавливая сеанс. Я загружаю страницы с помощью jQuery $. Load () .

Есть идеи, как я могу заставить этот экземпляр setInterval запускаться только один раз?

Изменить: прочитав свой вопрос, я увидел, что это было немного непонятно. Моя основная проблема заключается в том, что когда я возвращаюсь домой, мой первый экземпляр setInterval уже запущен, а второй запускается, в результате чего автоматическое обновление, которое длилось 5 секунд, идет быстрее, и оно будет происходить все быстрее и быстрее каждый раз, когда я смените страницу и вернитесь на главную. Я не хочу такого поведения. Мне нужно ОСТАНОВИТЬ экземпляр setInterval, когда я меняю содержимое в div, и перезапустить его, когда вернусь домой.

5
задан astro11 30 May 2011 в 19:19
поделиться