6
function countDownRound() {
if(myRoundTimeRemaining >= 0){
var secs = myRoundTimeRemaining;
if(secs < 10)
{
secs = "0" + secs;
}
$("#countdown").html(':'+secs);
CountdownTimer = setTimeout(countDownRound, 1000);
myRoundTimeRemaining--;
}
else{
$("#countdown").html('');
}
}
위의 코드는 Firefox에서 예상 한 바를 수행합니다. 매초마다 "카운트 다운"요소에 감소하는 숫자가 표시됩니다.카운트 다운 타이머가 Chrome/Safari에서는 올바르게 렌더링되지 않지만 Firefox에서는 정상적으로 렌더링되지 않습니다.
Safari 및 Chrome에서 코드는 제대로 실행되지만 화면 요소는 변경되지 않습니다. 브라우저 윈도우의 크기 변경과 같은 다른 일이 발생하면 요소는 올바르게 업데이트됩니다.
이것은 일종의 최적화 또는 스레드 기반 문제인 것처럼 보이지만 솔루션을 찾을 수 없습니다.
은 크롬에서 잘 작동합니다. http://jsfiddle.net/br4uK/ –
나를 위해 잘 작동합니다. 사용중인 Chrome 및 Safari의 버전은 무엇입니까? –
흥미 롭습니다. JQuery의 애니메이션 스택과 관련이있을 수 있습니다. "requestAnimationFrame() 특성으로 인해 setInterval 또는 setTimeout 루프를 사용하여 애니메이션을 대기열에 넣으면 안됩니다."라는 경고가 나타났습니다. 이 객체는 애니메이션이 아니지만 일부 다른 객체는 다음과 같습니다. –