표준 JQuery UI 함수를 사용하여 JQuery 기반 대화 상자가있는 페이지를 만들었습니다. 나는 JQuery의 박스 기능과 함께이 작업을 수행한다. 페이지로드시 JQuery 대화 상자가 완전히 표시됨
<div id = "myDialog">
<!-- ... more html in here for the dialog -->
</div>
그런 다음 JQuery와 자바 스크립트에서 호출 대화 상자에 <DIV> 변환 :
다시
// pruned .js as an example of kicking up a JQuery dialog
$('#myDialog').dialog({
autoOpen: false,
title: 'Title here',
modal: true
}
});
, 일반 바닐라 JQuery와 다음 대화 상자 내 HTML이다. 따라서 상위 페이지의 링크를 클릭하면이 마법사가 시작되고 이미지 등이 포함 된 상당량의 HTML이있는 JQuery 대화 상자가 생성됩니다.
이 페이지를 계속 개발하면서 알기 시작했습니다. 브라우저에 페이지를로드했을 때 <div> 태그를 사용하여 JQuery가 대화 상자로 변환하는 태그를 매우 간략하게 표시했습니다. 그러면 페이지가 예상대로 작동합니다. 즉, 대화 상자가 숨겨지지 않고 페이지에서 잠깐 표시됩니다. 꽤보기 흉한 전문가답지 않은! 하지만 1 초도 지나면 페이지가 정확하게으로 렌더링되고 예상대로 표시됩니다.
시간이 지남에 따라 페이지 크기가 커짐에 따라 페이지가 잘못 렌더링 된 시간이 길어졌습니다. 내 생각 엔 브라우저의 렌더링 엔진이 페이지를 로딩 할 때 페이지를 렌더링하고 결국에는 <div>을 대화 상자로 변환하는 JQuery를 시작합니다. 이 JQuery 함수는 <div>을 JQuery 대화 상자로 변환하고 숨 깁니다 (autoOpen 속성을 false로 설정했기 때문에). 일부 브라우저 < 기침 > IE </기침 > 다른 사람보다 길게 표시합니다. 내 큰 대화가 이제 페이지가 약 1 초 동안 잘못 렌더링됩니다. YUCK!
jquery에서 일반적으로 사용되는 사이트 요소 (div)는 약 1 초 동안 추한 다음 BAM! 당신은 모든 스타일, 탭, 아코디언 등을 얻습니다. 저는 오랫동안 그걸 없애려고 노력했습니다. – Ben
{display : none; } 잘 작동합니다. 이것이 작동하는 동안, 그것은 해킹 웹 개발이 일반적으로하는 것의 또 다른 예일뿐입니다. –
오, 나는 이것에 대한 용어가 있음을 발견했다 : FOUC (Unstyled Content의 플래시). –