• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

선생님 질문 드립니다 ㅠㅠ!

20.08.05 16:15 작성 조회수 152

0

제 개인적인 생각으로는.. !! 

setTimeout은 몇초 후에 값을 나타나게 하는 기능인거 같고,

clearTimeout은 멈추게 하는 기능인거 같고..? ㅠㅠ../

라고 생각하는 도중에 궁금한점이 문득 생겼습니다!

간단하게 button으로 예를 들자면.. setTimeout을 5초(5000) 뒤에 20이라는 값을 나오게 가정하고, clearTimeout도 같이 지정해줬을시,  이 20이라는 값이 5초전에 나오기전에  버튼을 클릭하면 clearTimeout이 실행되면 그 값이 나오지 않나요? 

지금 일분이는 무엇을 클릭하기전에 알아서 clearTimeout이 작동하는것은 알겠는데 무엇을 클릭 했을시에도 멈추어지는 기능인지 궁금합니다!!

제가 질문드리는데 아직 배운게 얼마 많지 않아 ㅠ 두서없이 말씀드린거 같습니다.. 죄송합니다 흑..ㅠㅠ

답변 1

답변을 작성해보세요.

0

setTimeout을 무언가 클릭해서 취소하는 동작을 말씀하시는거 맞나요? ^^
아래 코드를 확인해 보세요~ 버튼을 클릭하면 clearTimeout으로 setTimeout을 취소하는 코드입니다.

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<button class="btn">클릭하면 3초가 지나도 alert 안뜸</button>
	<script>
		const btnElem = document.querySelector('.btn');

		function sayHi() {
			alert('안녕!');
		}

		const timerId = setTimeout(sayHi, 3000);
		btnElem.addEventListener('click', function () {
			clearTimeout(timerId);
		});
	</script>
</body>
</html>