, 당신은 당신의 코드에서 지연을 넣지 마십시오; 대신에 환경으로 돌아와 잠시 후에 다시 전화하도록 요청하십시오.
브라우저에서 setTimeout
(일회용) 또는 setInterval
(계속 반복되는 타이머 용)을 사용하여 브라우저를 수행 할 수 있습니다. 지금하고있는 일에 대해서는 setTimeout
을 사용하고 필요에 따라 새로운 반복 일정을 계획합니다. 여기
는 예제 :이
$(document).ready(function() {
$("#table1").fadeIn(1000, function myLoop()
{
var price = 60;
var i = 0;
loop();
function loop()
{
$("#price").html("€" + i);
if (i < price) {
++i;
setTimeout(loop, 100); // 100ms = 1/10th second
}
}
});
});
, 우리는 i
미만 price
경우, i
다음 0
인 그리고 가격을 업데이트 loop
를 호출하고 시작에서 다시 호출 브라우저 요청 100ms (10 분의 1 초). 이 경우 업데이트 된 i
값을 표시 한 다음 i
이 더 이상 price
보다 작아 질 때까지 프로세스를 반복합니다.
loop
(이것은 처음 loop
실행 후 않는)에 fadeIn
콜백 복귀 후에도이 그 변수 지속적인 참조했음을 의미 i
및 price
위에 폐쇄이기 때문에이 작동한다. Closures are not complicated이