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, то не происходит ускорение движения. Подозреваю, что это связано с доступом к переменным внутри функций?