$(document).ready()가 실행될 때 CSS 값을 사용할 수 있습니까?
질문:
왜 동적 콘텐츠 정렬이 있는 페이지에서 script执行于$(document).ready가 때때로 지연되거나 오작동?
답변:
jQuery의 릴리스 노트와 문서에 따르면 $(document).ready()는 CSS 값이 완전히 삽입될 때까지 기다리지 않을 수 있습니다. DOM. 따라서 모든 CSS 파일을
스크립트 참조 앞에.
설명:
-
비동기 CSS 로딩: CSS 파일은 비동기적으로 로드됩니다. 이는 JavaScript가 CSS보다 먼저 실행될 수 있음을 의미합니다. 렌더링이 완료되었습니다.
-
JS에 대한 CSS 종속성 계산: 경우에 따라 JavaScript 계산은 CSS 값을 사용하여 요소 크기와 위치를 결정하므로 CSS 값을 아직 사용할 수 없는 경우 부정확해질 수 있습니다.
-
브라우저별 동작: 질문에서 관찰된 동작은 다음과 같은 특정 브라우저 동작과 관련될 수 있습니다. as:
-
Internet Explorer: 때때로 외부 CSS가 로드될 때까지 JS 실행이 중단됩니다. 특히 CSS가 페이지에서 JS 위에 배치된 경우 더욱 그렇습니다.
-
기타 브라우저: CSS가 완전하지 않은 경우에도 JS 실행이 항상 중단되지 않을 수 있습니다. 로드되었습니다.
해결 방법:
$(document).ready() 실행 시 CSS 값을 사용할 수 있는지 확인하려면:
- 항상 에서 JavaScript 참조 앞에 CSS 파일을 포함하세요.
- 가능하다면 모든 CSS와 콘텐츠가 로드된 후 스크립트를 페이지 하단으로 이동하는 것이 좋습니다.
추가 참고 사항:
- 대부분의 경우 CSS를 JS 위에 배치하면 JS에 대한 CSS 종속성과 관련된 성능 문제가 해결됩니다.
- 그러나 비동기 리소스 로딩 및 스크립트 실행과 관련된 복잡한 브라우저별 동작은 여전히 발생할 수 있습니다.
위 내용은 $(document).ready()는 항상 최종 CSS 값에 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!