SlavaGlaps
@SlavaGlaps
Программист

Как можно наладить мой цикл?

У меня есть переменная sum
При нажатие на кнопу ей должно каждую секунду прибовлятьcя единца
Если нажать еще раз на кнопу то прибовляеться каждую секунду двойка и так далее

Пробовал сделать через setInterval , но циклы с каждом кликом суммируються, а остановить setinterval не получаеться

$('.gravity').on("click", function() 
	{
	  grav=grav+1;
	  $.cookie('gravitaion',grav);
	  $("div.gravX").text($.cookie('gravitaion'));
	  intervalID=setInterval(function() 
	  {
	  sum=sum+grav;
	  $.cookie('klicks', sum);
	  $("div.schet").text($.cookie('klicks'));
      }, 1000);	
	}
);


так же пробовал через бесконечный цикл и задержку , но такой код зависал
  • Вопрос задан
  • 272 просмотра
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Вашему жизненному циклу поможет однократный запуск таймера.

var sum = 0,
	step = 0;

$(document).on('click', '.gravity', function () {
	if (!step) {
		setInterval(increase, 1000);
	}

	step++;
	$.cookie('clicks', step);
	$('.number').text(step);

	function increase () {
		sum += step;
		$.cookie('gravitaion', sum);
		$('.value').text(sum);
	}	
});
Ответ написан
ak-o
@ak-o
web-developer
$(function() {
	var summ = 0, grav = 0;    
	$('.gravity').on("click", function() {
	  grav++;
	  $("div.gravX").text(grav);
	  if(!summ) {
		  setInterval(function() {
			  summ += grav;
			  $("div.schet").text(summ);
		  },1000);
	  }
	});
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы