2
자바 루프 중에 다시 그리기를 원합니다. 예 :자바 루프 중에 강제로 다시 칠하기
var s = document.getElementById("foo");
for (var i = 0; i < 10000; i++)
s.innerText = i + " times";
결국 업데이트되지만 각 중간 단계를 확인하고 싶습니다. 이 문제에 대한 일반적인 반응은 용납 할 세 가지 이유가있다, 그러나, setTimeout
을 사용하는 것입니다 : 페이지에
- 있습니다 다른 버튼/링크 등이 있으며 이들 중 어느 것도 동안을 클릭 할 수없는 것이 중요하다 루프가 작동합니다.
- 루프가 끝날 때, 팝업을 표시하고 싶습니다. 시간 초과가 발생하면 사용자가 더 이상 시작하지 않기 때문에 표준 팝업 차단기가 숨길 것입니다.
- 루프가 실행되는 동안 사용자가 클릭하는 경우 루프가 완료 될 때까지 버퍼링되도록하고 루프의 절반은 실행하지 않습니다.
강제로 브라우저를 다시 칠하는 방법이 있습니까?
> 팝업이 표시되면 시간 초과가 발생하면 표준 팝업 차단기가 더 이상 사용자가 시작하지 않으므로이를 숨길 수 있습니다. 나는 이것에 대해 잘 모르겠습니다. window.open 팝업에 settimeout을 사용하지는 않지만 브라우저가 팝업을 거의 멈출 때마다 – Sebas
사용자 작업 (클릭)에 대한 직접 응답으로 팝업이 열리면 대개 허용됩니다. 다른 것에 대한 응답으로 시작하면 종종 허용되지 않습니다. –
* "브라우저에서 다시 칠하도록하는 방법이 있습니까?"* 나는 그렇게 생각하지 않습니다. 'setTimeout'에 대한 첫 번째와 세 번째 문제는 해결 될 것으로 보입니다. 두 번째가 확실하지 않습니다. –