문제:
$를 사용하여 실행되는 스크립트 (document).ready()로 인해 블록 요소의 수직 정렬 문제가 발생합니다. 이상하게도 요소가 지연되거나 잘못 정렬됩니다.
질문:
DOM 지원에서 스크립트를 실행하면 DOM에 주입된 올바른 CSS 값이 모두 제공되지 않을 수 있습니까? 그만큼 DOM?
답변:
jQuery 1.3 릴리스 노트에 따르면:
"ready() 메소드는 더 이상 DOM을 보장하지 않습니다. 모든 스타일시트가 로드될 때까지 기다리는 대신 모든 CSS 파일이 스크립트 앞에 포함되어야 합니다. 페이지."
이는 모든 CSS 파일을
섹션을 사용하여 스크립트를 로드하기 전에 요소를 삭제하세요. 그렇게 하지 않으면 특히 Safari와 같은 WebKit 기반 브라우저에서 예측할 수 없는 동작이 발생할 수 있습니다.예기치 않게 CSS를 스크립트 위에 배치해도 문제가 완전히 해결되지 않을 수 있습니다. CSS는 비동기식으로 다운로드되므로 CSS를 다운로드하는 동안에도 JS 로드가 시작되고 완료될 수 있습니다.
Steve Souders의 cuzillion.com 스크립트를 사용한 실험에 따르면 JS가 있다는 워터폴 증거에도 불구하고 CSS가 로드될 때까지 JS 실행이 때때로 지연되는 것으로 나타났습니다. CSS 다운로드가 완료되기 전에 완료됩니다.
그러나 추가 테스트에 따르면 이전에 정의된 CSS가 나올 때까지 JS를 중지하는 규칙은 보편적이지 않습니다. 외부 JS와 CSS 로딩 시퀀스 사이에 상호 작용이 있는 것으로 보입니다.
요약하자면, 불일치를 방지하고 스크립트의 안정적인 작동을 보장하려면 권장되는 대로 페이지의 스크립트 앞에 모든 CSS 파일을 포함하는 것이 가장 좋습니다. jQuery 문서에서
위 내용은 `$(document).ready()`는 실제로 CSS가 완전히 로드되고 적용되도록 보장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!