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