JavaScript에서 setTimeout() 일시 중지 및 재개
JavaScript에서 setTimeout()을 사용하면 지정된 시간 이후에 함수가 실행되도록 예약할 수 있습니다. 지연. 그러나 시간 초과 실행을 일시 중지하거나 재개해야 하는 시나리오가 발생할 수 있습니다.
setTimeout() 일시 중지 및 재개
실행 중인 시간 초과를 일시 중지하려면 window.clearTimeout() 함수를 사용할 수 있습니다. 인수로 지워질 시간 초과 ID를 사용합니다. 일시 중지한 후에는 타이머.resume() 메서드를 사용하여 시간 초과를 재개할 수 있습니다.
일시 중지/재개 기능이 있는 사용자 정의 타이머
대체 접근 방식은 사용자 정의 타이머를 생성하는 것입니다. 일시정지 및 재개 메소드가 있는 타이머 객체입니다. 이를 통해 시간 초과를 보다 직접적으로 제어할 수 있습니다. 다음은 이러한 타이머의 예입니다.
<code class="javascript">var Timer = function(callback, delay) { var timerId, start, remaining = delay; this.pause = function() { window.clearTimeout(timerId); timerId = null; remaining -= Date.now() - start; }; this.resume = function() { if (timerId) { return; } start = Date.now(); timerId = window.setTimeout(callback, remaining); }; this.resume(); };</code>
setTimeout()에서 남은 시간 가져오기
안타깝게도 남은 시간을 가져오는 기본 제공 방법은 없습니다. setTimeout(). 그러나 위에 설명된 접근 방식을 사용하면 시작 시간을 수동으로 저장하고 타이머를 일시 중지할 때 남은 시간을 계산할 수 있습니다.
setTimeout()을 사용자 정의 타이머 개체에 래핑하거나 수동 시간 계산 접근 방식을 사용합니다. , JavaScript에서 시간 초과에 대한 일시 중지 및 재개 기능을 구현할 수 있습니다.
위 내용은 JavaScript에서 setTimeout()을 일시 중지하고 다시 시작하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!