Показать сообщение отдельно
  #1 (permalink)  
Старый 25.06.2016, 18:03
Новичок на форуме
Отправить личное сообщение для refrom Посмотреть профиль Найти все сообщения от refrom
 
Регистрация: 25.06.2016
Сообщений: 2

не срабатывает clearInterval
Добрый день!

Написал функцию, которая анимирует картинку типа прогрессбар.
function fancy_load(n) {
	$('#loaderImage').css({display: "block"});
	var i=0;
	function timer() {
	    $('#loaderImage').css({backgroundPosition: "-" + 128*i + "px 0px"});
	    i++; 	
	}
	var intervalID = setInterval(timer, 30); 

	if (n == 'f'){
	    intervalID = clearInterval(intervalID);
	} 
}


Обращаюсь к ней 2 раза. Первый при нажатии на кнопку, второй после загрузки необходимой информацией уже с переменной, при наличии которой должна сработать clearInterval
$(".add_goods_button, .edit_good").click(function(){
		fancy_load();
		$.post("functions_orders.php", {
			action:"add_goods" 
		}, 
		function(data) {

			$("#div_goods_right").html(data);
			$(".lable_art_off").click(function(){
				var art = $(this).attr("id");
				newGoods(art);
		});
			fancy_load("f");
		});
		
	});


clearInterval не срабатывает. Потом посмотрел, что intervalID меняется при повторном обращении. дописал "костыль" что бы он не менялся (присвоил ему постоянный номер). Все равно не срабатывает.

Подскажите как правильно поправить код, что бы при повторном обращении к функции с переменной n = 'f' срабатывала clearInterval.
Ответить с цитированием