문제

jQuery delay() 또는 wait() (특정 시간 동안 스크립트 실행을 지연시키기 위해)와 유사한 JavaScript 메소드가 있습니까?

도움이 되었습니까?

해결책

다음이 있습니다. 라코 디스

함수가 실행될 때까지 지나갈 수있는 함수

참조 : 창 생성 태그 코드 방법 .

다른 팁

setTimeout에 대해 다른 모든 사람들이 말한 내용을 추가하기 만하면됩니다. 나중에 매개 변수가있는 함수를 호출하려면 익명 함수 호출을 설정해야합니다.

나중에 호출 할 수 있도록 함수를 인수로 전달해야합니다. 실제로 이것은 이름 뒤에 괄호가 없음을 의미합니다. 다음은 경고를 즉시 호출하고 'Hello world'를 표시합니다. 라코 디스

이 문제를 해결하려면 Flubba가 수행 한 것처럼 함수 이름을 입력하거나 익명 함수를 사용할 수 있습니다. 매개 변수를 전달해야하는 경우 익명 함수를 사용해야합니다. 라코 디스

하지만 해당 코드를 실행하면 2 초 후에 팝업에 'Hello Stack Overflow'라는 메시지가 표시됩니다. 이는 변수 a의 값이이 2 초 동안 변경 되었기 때문입니다. 2 초 후에 'Hello world'라고 표시하려면 다음 코드 스 니펫을 사용해야합니다. 라코 디스

2 초 후 'Hello world'가 팝업됩니다.

약간 확장하기 만하면 ... setTimeout 호출에서 직접 코드를 실행할 수 있지만 @ patrick 은 일반적으로 이와 같은 콜백 함수를 할당한다고 말합니다.시간은 밀리 초입니다. 라코 디스

정말로 차단 (동기) delay 기능을 갖고 싶다면 다음과 같이 해보세요 : 라코 디스

setTimeout 을 사용하고 콜백 함수를 전달해야합니다.자바 스크립트에서 절전 모드를 사용할 수없는 이유는 그 동안 전체 페이지가 아무것도하지 못하도록 차단하기 때문입니다.좋은 계획이 아닙니다.Javascript의 이벤트 모델을 사용하고 행복하세요.싸우지 마세요!

window.setInterval () 을 사용하여일정한 간격으로 반복적으로 코드를 작성합니다.

이전 의견에 추가하기 위해 다음과 같이 말하고 싶습니다.

자바 스크립트의 setTimeout() 함수는 스크립트 자체 실행을 일시 중지하지 않고 컴파일러에게 향후 언젠가 코드를 실행하도록 지시 할뿐입니다.

자바 스크립트에 내장 된 실행을 실제로 일시 중지 할 수있는 기능은 없습니다.그러나 Date() 함수를 사용하고 필요한 시간 간격을 추가하여 시간에 도달 할 때까지 무조건 루프와 같은 작업을 수행하는 자체 함수를 작성할 수 있습니다.

지연 테스트 만 필요한 경우 다음을 사용할 수 있습니다. 라코 디스

그런 다음 2 초 동안 지연하려면 다음을 수행하십시오. 라코 디스

그래도 제작에 가장 적합하지 않을 수 있습니다.댓글에서 더 자세히 알아보세요

왜 약속 뒤에 코드를 넣을 수 없습니까?(내 머리 꼭대기에서 입력)

라코 디스

간단한 답장 : 라코 디스

위 함수는 1 초 (1000ms) 동안 대기 한 다음 x를 1로 설정합니다. 분명히 이것은 예입니다.익명 함수 내에서 원하는 것은 무엇이든 할 수 있습니다.

나는 setTimeout를 호출하는 세 가지 다른 방법에 대한 Maurius의 설명 (최고 찬성 응답)을 정말 좋아했습니다.

내 코드에서 AJAX 저장 이벤트가 완료되면 자동으로 이전 페이지로 이동하고 싶습니다. 저장 이벤트가 완료되면 저장이 성공했음을 나타내는 약간의 애니메이션이 CSS에 표시됩니다.

내 코드에서 처음 두 예제의 차이점을 발견했습니다. 라코 디스

이것은 시간 초과를 기다리지 않습니다. 지연을 위해 어떤 숫자를 입력해도 back ()은 거의 즉시 호출됩니다.

하지만 다음으로 변경 : 라코 디스

내가 바라던 일을 정확히 수행합니다.

이것은 back () 연산에만 국한되지 않으며 alert()에서도 마찬가지입니다. 기본적으로 첫 번째 경우에 사용 된 alert()를 사용하면 지연 시간이 무시됩니다. 팝업을 닫으면 CSS 애니메이션이 계속됩니다.

따라서 인수를 사용하지 않고 내장 함수를 사용하더라도 그가 설명하는 두 번째 또는 세 번째 방법을 권장합니다.

그 사이에 지연을두고 실행하고 싶은 ajax 명령이있었습니다.다음은이를 수행하는 한 가지 방법의 간단한 예입니다.나는 내 틀에 얽매이지 않는 접근 방식을 위해 파쇄 될 준비가되어 있습니다.:) 라코 디스

코드 블록을 복사하여 콘솔 창에 붙여 넣으면 다음과 같은 내용을 볼 수 있습니다. 라코 디스

지연으로 함수를 호출하는 가장 간단한 솔루션은 다음과 같습니다. 라코 디스

다른 말처럼 setTimeout이 가장 안전한 방법입니다.
그러나 때로는 논리를 새 함수로 분리 할 수없는 경우 Date.now ()를 사용하여 밀리 초를 얻고 직접 지연을 수행 할 수 있습니다 ....

라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top