在我的基于 jQuery Mobile 的网站的主页第一次加载时,它在被 jQuery Mobile 处理之前显示为 1 秒,然后页面变为空白 1 秒然后,页面的最终渲染完成,让最终页面出现。它提供了一种我想避免的闪烁效果,特别是因为例如 jQuery Mobile 需要解析的所有元素在第一秒内都是可见的(例如,弹出窗口不隐藏等)。
我尝试了其他基于 jQuery Mobile 的网站,他们似乎没有这个问题。有没有配置什么的?如果不是这种情况,我想隐藏页面直到它完全加载。
预先感谢。
您可以在正文上使用 display none,然后在第一页上为 pageinit 绑定事件侦听器。
例子:
HTML:
<body style="display:none">
<div id="#start" data-role="page"></div>
</body>
JS:
$("#start").one("pageinit",function(){
$("body").show();
});
这就是我所做的,但这对禁用 JS 的人来说并不好。所以我做同样的事情,但我通过 javascript 在开始的正文标记之后隐藏正文。
<body>
<script type="text/javascript">
document.body.style.display = 'none';
</script>
...
</body>