我使用标准的JQuery UI函数创建了一个具有基于JQuery的对话框的页面。我使用JQuery的开箱即用功能来做到这一点......没有什么特别的。这里是我的对话框HTML:页面加载时瞬间显示的JQuery对话框
<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,包括图像等。
随着我继续开发此页,我开始注意到当我在浏览器中加载页面的时候,我非常简单地显示了JQuery转换为对话框的标签。然后页面按预期行事。换句话说,这个对话框不会被隐藏,它会在页面上简单显示。相当丑陋和不专业的期待! 但一秒钟后,页面将正确呈现,并且看起来与我预期的/想要的一样。
随着时间的推移,随着页面尺寸的增加,页面保持不正确渲染的时间也随之增加。我的猜测是,浏览器的渲染引擎正在渲染正在加载的页面,然后最终它将启动JQuery,它会将<div>转换为对话框。然后,这个jQuery函数会将简单的<div>转换为JQuery对话框并隐藏它(因为我将autoOpen属性设置为false)。一些浏览器<咳嗽> IE < /咳嗽>显示它比其他人长。我的大对话框现在导致页面错误地呈现大约1秒... YUCK!
这是jQuery中常见的,首先你的网站元素(div的)将是丑陋的,约一秒钟,然后BAM!你会得到所有的风格,标签,手风琴等。我一直试图摆脱很长一段时间,现在没有运气。 – Ben 2010-04-09 00:23:14
{display:none; }对我来说效果很好。虽然这是有效的,但这只是另一个一般的黑客网站开发的例子。 – 2010-04-09 18:44:04
哦,我发现有这样一个术语:FOUC(Unstyled Content的Flash)。 – 2010-04-29 00:51:17