Я создал страницу с диалоговым окном JQuery, использующим стандартную функцию пользовательского интерфейса JQuery. Я делаю это с функциональностью JQuery без коробки, ничего особенного. Вот мой HTML для диалога:
<div id = "myDialog">
<!-- ... more html in here for the dialog -->
</div>
Затем JQuery вызывается в javascript, который преобразует <div> в диалоговом окне:
// pruned .js as an example of kicking up a JQuery dialog
$('#myDialog').dialog({
autoOpen: false,
title: 'Title here',
modal: true
}
});
Опять же, простой ванильный JQuery. Итак, вы запускаете этот мастер, нажимая на ссылку на родительской странице, и затем порождает диалоговое окно JQuery, в котором есть значительный фрагмент HTML, который включает в себя изображения и т.д.
Как я продолжал развивать эту страницу, я начал замечать, что когда я загрузил страницу в браузере, что <div> теги, которые я вводил, что преобразования JQuery в диалоги будут очень кратко отображаться. Тогда страница будет действовать так, как ожидалось. Другими словами, диалог не будет скрыт, он будет кратко отображаться в строке на странице. Довольно уродливый и непрофессионально выглядящий! Но после второй секунды страница будет правильно отображаться и будет выглядеть так, как я ожидал/хотел.
С течением времени, по мере роста размера страницы, время, в течение которого страница будет отображаться некорректно, росла. Я предполагаю, что механизм рендеринга браузера отображает страницу по мере ее загрузки, а затем в конце запускает JQuery, который преобразует <div> в диалог. Затем эта функция JQuery преобразует простой <div> в диалоговом окне JQuery и скрыть его (поскольку свойство autoOpen установлено в false). Некоторые браузеры <cough> IE </cough> отображать его больше, чем другие. В моем диалоговом окне с большими истями теперь страница некорректно отображается примерно на 1 секунду... YUCK!