javascript - 如何延迟显示页面内容直到页面完全加载(包括脚本和样式)

标签 javascript jquery html

我有多个 div,如下 -

<div id='1' class='divs_nav'>My Dynamic Content</div>
<div id='2' class='divs_nav'>My Dynamic Content</div>
...
<div id='149' class='divs_nav'>My Dynamic Content</div>
<div id='150' class='divs_nav'>My Dynamic Content</div>

div的内容是通过MySQL加载的。 我想一次只显示一个div,其余的都隐藏。有导航按钮可更新下一个/上一个 div 的显示。 到目前为止,我将所有 div 隐藏在 $(document).ready 中,如下 -

<script>    
$(document).ready(
function() {
var a = 2, max = 150;
while (a <= max)
{
$('#' + a).hide();
a++;
}
});
</script>

但是,使用此方法的问题是,在页面完全加载之前,所有 div 都会显示。 加载完所有内容后,页面显示得非常好。

我怎样才能延迟显示或类似的事情来避免这种情况?另外,如果可能的话,如何显示自定义等待消息“正在加载。请稍等”直到页面加载 100%,以提高查看者的意识。

(附:我标记了 html、jquery、javascript 和 PHP,因为说实话,我不知道哪一个最能解决我的问题)

谢谢。

最佳答案

您可以通过 CSS 隐藏元素,然后在整个页面加载后显示第一个元素。

关于加载消息,添加一个包含它的元素,您可以在页面完全加载后立即隐藏(或删除)该元素。

HTML:

<div id="loading">Loading, please wait...</div>
<div id='1' class='divs_nav'>My Dynamic Content</div>
<div id='2' class='divs_nav'>My Dynamic Content</div>
<div id='149' class='divs_nav'>My Dynamic Content</div>
<div id='150' class='divs_nav'>My Dynamic Content</div>

CSS:

.divs_nav {
    display: none;
}

JavaScript:

$(document).ready(function(){
    $('#loading').hide();
    $('.divs_nav').first().css('display', 'block'); //or whatever display value you want
});

演示:http://jsfiddle.net/Zzg5M/

关于javascript - 如何延迟显示页面内容直到页面完全加载(包括脚本和样式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041087/

相关文章:

javascript - 如何从 'SetInterval'切换到 'request animation frame'

javascript - 在 HTML 文档中存储对象 ID : id vs data-id vs?

javascript - 横幅设计创建者 - 测量

javascript - 单击 jQuery Accordion header 内的链接

javascript - 如何显示隐藏的 DIV 并在打开其他 div 时自动隐藏它

javascript - 如何使用jquery显示列表中的3个随机项目?

javascript - 如何显示从 javascript 到 php 的脚本值

javascript - 使用 Ajax 返回数据填充 span 标记

javascript - Jquery css3 自动滚动图像

html - 使用纯 css 动画 html 选项卡内容以像轮播一样移入/移出