@Nikich35

Почему не работает clearInterval?

var direction = "вправо";
var letOff = 0;
var counter = 30;
var id = 10;
$ ("#heading").offset ({left: letOff, top: letOff});
function moveHeading () {
		if (direction === "вправо") {
		$ ("#heading").offset ({left: letOff});
		letOff++;
		if (letOff>200){
		letOff = 0;
		direction = "вниз"
		}
		}
		else if (direction === "вниз") {
		$ ("#heading").offset ({top: letOff});
		letOff++;
		if (letOff > 200){
		letOff = 200;
		direction = "влево";
		}
		}
		else if (direction === "влево") {
		$ ("#heading").offset ({left: letOff});
		letOff--;
		if (letOff < 0){
		letOff = 200;
		direction = "вверх";
		}
		}
		else if (direction === "вверх") {
		$ ("#heading").offset ({top: letOff});
		letOff--;
		if (letOff < 0){
		letOff = 0;
		direction = "вправо";
		}
		}
};
//var functionId = setInterval (moveHeading,counter);
 $("#heading").click (function () {
var functionId = setInterval (moveHeading,counter);
counter -= 3;
$("#heading").text (id);
id --;
if (id < 0) { 
$("#heading").text ("Вы победили!");
clearInterval (functionId);
};
});

По клику работает замена заголовка на цифры и идет ускорение, но не останавливается. Если вынести setInterval за click, то не происходит ускорение движения. Подозреваю, что это связано с доступом к переменным внутри функций?
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы