Javascript.RU

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

Дублирование javascrip кода
Здравствуйте, скажу сразу я не очень силен в яваскрипте, если проблема легко решима, прошу не бросать тапками.
Проблема:
Есть файл site.js
Код что в нем отвечает за навигацию сайта.
Подгружается он единоразово в индексе.
Пример кода 1 навигации:
$('#my_deposit').click(function()
	{
		
		if(clicker == 2)
		{
		$("#load").fadeTo(1, 1);
		$("#page_top").fadeTo(1, 0.1);
		$("#page_top").fadeTo(1000, 1);
		$("#page_center").fadeTo(1, 0.1);
		$("#page_center").fadeTo(1000, 1);
		$("#page_b").fadeTo(1, 0.1);
		$("#page_b").fadeTo(1000, 1);
		$("#load").fadeTo(995, 0);
		$("#content").html("");
		$.ajax({
				url: "site/cabinet/deposite.php",
				cache: true,
				success: function(html)
				{
					$("#content").html(html);
				}
				});
		clicker = 1;
		setTimeout(function (){clicker = 2;}, 3000);
		}
	});


Собственно в deposite.php
Есть несколько таймеров, и когда несколько раз перейти на ссылку $('#my_deposit'). таймера, значительно ускоряются, тоисть просто дублируется код насколько я понял.
Вот один таймер:
setInterval
	(
		function()
		{	
			if(sec_str >= 0 && depo == 1)
			{
				$('#upd_timer_dep').html(hour_str+"час."+min_str+"мин. "+sec_str+"сек.");
				sec_str--;
				$('#dep_buy').html("<img src='images/buyn.png' />");
			}
... И тд и тп


Перед загрузкой функции, удаляю все переменные, не помогает.
Он просто дублирует(догружает) код, а нужно чтобы обнулял и опять сначала.
Пробывал и подгружать через load(file) тот же результат, спасает только F5.
Помогите, кто знает!
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2012, 17:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

MTapac,
Присваивайте таймеру айдишник и перед запуском любого таймера, очищайте все таймеры с данным id
Цитата:
var interval_ID;
clearInterval(interval_ID)
interval_ID = setInterval
(
function()
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2012, 17:46
Новичок на форуме
Отправить личное сообщение для MTapac Посмотреть профиль Найти все сообщения от MTapac
 
Регистрация: 03.09.2012
Сообщений: 3

Deff спасибо Вам огромное.
Я даже незнал о clearInterval.Deff,
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Скрипт вставки BB кода petr0007 Internet Explorer 2 20.02.2013 01:02
Рег.выражения, подсветка кода lynch1 Events/DOM/Window 6 17.12.2012 20:04
Ищу приличный редактор кода под JS Universe Общие вопросы Javascript 28 30.10.2012 18:30
TabPanel загрузка кода с сервера Jevgeny ExtJS 5 07.12.2010 15:35