JavaScript 코드 스 니펫 DOM 요소 REDRAW/Repaint 강제. 약간 해킹되지만 최후의 수단으로 유용합니다.
<span>$('#element') </span> <span>.transition({ x: '-500px', easing: 'snap', duration:'0' }) </span> <span>.transition({ x: '0', easing: 'snap', duration:'0' }) </span> <span>.css('z-index','10');</span>
#element <span>{ </span> <span>position: absolute; </span> <span>right: '-500px'; </span> z<span>-index: -1; </span><span>}</span>왜 DOM 요소를 다시 그리기/리 페인트하도록 강요해야합니까?
요소의 스타일이나 내용을 작고 일시적으로 변경하여 DOM 요소가 JavaScript를 사용하여 재발하거나 다시 칠할 수 있습니다. 이렇게하면 브라우저의 리 페인트 프로세스가 트리거되어 요소가 즉시 업데이트됩니다. 간단한 예는 다음과 같습니다.
var element = document.getElementById ( 'myElement'); element.style.display = '';jQuery를 사용하여 DOM 요소를 다시 그리기/리 페인트하도록 강요 할 수 있습니까?
JavaScript와 DOM의 맥락에서 Redraw와 JavaScript의 리 페인트 사이에 차이가 있습니까? Redraw와 Refaint는 본질적으로 동일한 프로세스를 나타냅니다. 웹 페이지에서 요소의 시각적 표현을 업데이트합니다. 그러나 일부 개발자는 "redraw"라는 용어를 사용하여 페이지의 레이아웃에 영향을 미치는 변경 사항 (예 : 요소의 크기 또는 위치 변경 등)을 사용하는 반면 "Repaint"는 요소의 모양에 영향을 미치는 변경 사항을 말합니다 ( 색상 또는 배경 이미지 변경과 같은). 신체 요소의 스타일이나 내용을 작고 일시적으로 변경하여 페이지의 모든 요소. 그러나 이것은 매우 자원 집약적 일 수 있고 성능 문제를 일으킬 수 있으므로주의해서 수행해야합니다.
모든 브라우저에서 Redraw/Repaint 작업을 강요합니까?
요소의 스타일이나 콘텐츠를 작고 일시적으로 변경하는 것은 모든 최신 브라우저에서 작동해야합니다. 그러나 호환성을 보장하기 위해 여러 브라우저에서 코드를 테스트하는 것이 항상 좋은 생각입니다.예, CSS를 사용하여 강제로 요소 스타일을 작고 일시적으로 변화시켜 다시 그리거나 다시 칠하십시오. 이는 CSS 클래스를 추가하거나 제거하거나 요소의 스타일 속성을 직접 수정하여 수행 할 수 있습니다. 그러나이 방법은 브라우저의 CSS 렌더링 엔진에 따라 JavaScript 또는 jQuery를 사용하는 것만 큼 신뢰할 수 없을 수 있습니다.
위 내용은 JavaScript 스 니펫 힘 Dom 요소 Redraw/Repaint의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!