>웹 프론트엔드 >JS 튜토리얼 >실행 중에 `setInterval` 간격을 동적으로 변경하려면 어떻게 해야 합니까?

실행 중에 `setInterval` 간격을 동적으로 변경하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-26 18:15:11791검색

How Can I Dynamically Change the `setInterval` Interval During Execution?

실행 중 SetInterval 간격 조정

setInterval이 실행되는 동안 간격을 동적으로 수정하는 방법을 모색하면 다음과 같은 쿼리가 나타납니다. 카운터를 기반으로 간격을 조정하는 접근 방식을 제안했습니다.

var를 사용하려는 초기 시도 간격 = setInterval(function() { ... }, 10*counter); 불행하게도 비효율적인 결과를 낳게 됩니다. 원하는 동작을 얻으려면 익명 함수 사용을 고려하십시오.

var counter = 10;
var myFunction = function(){
    clearInterval(interval);
    counter *= 10;
    interval = setInterval(myFunction, counter);
}
var interval = setInterval(myFunction, counter);

이 접근 방식에는 기존 간격을 지우고 카운터를 업데이트한 다음 조정된 간격으로 새 간격을 설정하는 작업이 포함됩니다.

A. Wolff가 제안한 대안은 간격을 지속적으로 지우고 재설정할 필요가 없도록 ClearInterval 대신 setTimeout을 활용합니다.

var counter = 10;
var myFunction = function() {
    counter *= 10;
    setTimeout(myFunction, counter);
}
setTimeout(myFunction, counter);

위 내용은 실행 중에 `setInterval` 간격을 동적으로 변경하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.