Сам написал, и не понимаю как работает

92
01 октября 2021, 03:40

Не понимаю работу функции

`var count = 1;
function increaseSpeedMoving() {
    if(count < 10) {
        clearInterval(timeoutId);
        setInterval(moveBySquad, 10);
        $("#main_header").text(count);
        count++;
    }
}
$("#main_header").click(increaseSpeedMoving);
`, 

При каждом клике она уменьшает setIntreval все меньше и меньше(50-40-30-20-10), хотя вроде такого быть не должно, прошу объяснить почему так происходит.

var direction = "right"; 
var counter = 0; 
function moveBySquad() { 
	if(direction === "right") { 
		$("#main_header").offset({left: counter});//#main_header - if заголовка 
		counter++; 
		if(counter > 200) { 
			counter = 0; 
			direction = "down"; 
		} 
	} 
	if(direction === "down") { 
		$("#main_header").offset({top: counter}); 
		counter++; 
		if(counter > 200) { 
			counter = 200; 
			direction = "left"; 
		} 
	} 
	if(direction === "left") { 
		$("#main_header").offset({left: counter}); 
		counter--; 
		if(counter === 0) { 
			counter = 200; 
			direction = "up"; 
		} 
	} 
	if(direction === "up") { 
		$("#main_header").offset({top: counter}); 
		counter--; 
		if(counter === 0) { 
			counter = 0; 
			direction = "right"; 
		} 
	} 
} 
var timeoutId = setInterval(moveBySquad, 50); 
var count = 1; 
function increaseSpeedMoving() { 
	if(count < 10) { 
		clearInterval(timeoutId); 
		setInterval(moveBySquad, 10); 
		$("#main_header").text(count); 
		count++; 
	} 
} 
$("#main_header").click(increaseSpeedMoving);
<!DOCTYPE html> 
<html lang="en"> 
<head> 
	<meta charset="UTF-8"> 
	<title>Document</title> 
</head> 
<body style="background-color: #222"> 
	<h1 id="main_header" >Title</h1> 
	<script src="jquery.js"></script> 
	<script src="main.js"></script> 
</body> 
</html>

Answer 1
    clearInterval(timeoutId);
    timeoutId = setInterval(moveBySquad, 10); // !!!
READ ALSO
matrixTransform на svg: неожиданное поведение

matrixTransform на svg: неожиданное поведение

У меня есть div, содержащий изображение SVG размером 300x300 пикселей и viewBox 1000x1000Изображение состоит из синего прямоугольника поверх красного

114
ghbdtn =&gt; привет. Перевод с английского регистра на русский

ghbdtn => привет. Перевод с английского регистра на русский

Пишу бота для дословного перевода сообщений с английского на русскийХотелось бы узнать об общепринятых решениях этой задачи, а не придумывать...

105
jQuery: заменить последнее числовое значение в строке

jQuery: заменить последнее числовое значение в строке

Есть плагин для клонирования полей формы, в котором индекс в атрибуте name прирастает при каждом клонировании, те

158
Не могу установить data атрибут

Не могу установить data атрибут

Есть select, который используется с плагином select2И мне надо использовать свои атрибуты

97