答案 0 :(得分:3)
为什么不将css display
属性设置为none
,并在文档加载后用JS更改它?如果您在网页上使用jQuery,则可能如下所示:
CSS:
#mydiv { display: none; }
JavaScript的:
$(document).ready(function() {
$('#mydiv').show();
});
答案 1 :(得分:2)
为了补充凯文的答案,可以通过添加此功能预先加载图像:
$.preloadImages = function()
{
for(var i = 0; i<arguments.length; i++)
{
$("<img>").attr("src", arguments[i]);
}
}
然后告诉它你要加载哪些图像:
$.preloadImages("image1.gif", "/path/to/blah.png", "some/other.jpg");
将这些代码放在您加载的内容之前,作为礼貌。
答案 2 :(得分:0)
以前曾问过这类问题。你所说的真的不是“预加载” - 它只是在页面完全加载之前阻碍了用户对页面的看法。它不会使页面加载速度更快。
只需将整个页面放在容器中,然后使用CSS将该容器的显示模式设置为none
。然后,只要文档准备好或最后一个图像已加载,只需将容器的显示模式更改为none
以外的任何其他内容:
var imgTotal = 10; // total number of images on your page
var imgCount = 0;
$("img").load(function(){
imgCount++;
if (imgCount == imgTotal)
$("#container").show();
}
但是,考虑到我的浏览器上的页面加载时间不到一秒,我真的没有看到这一点。
答案 3 :(得分:0)
它不完全是图像,而是改变问题的页面元素......
我有css隐藏的身体 我的jquery的最后一个参数是css:visible
工作很好.. 2秒加载,大家都出现了!
感谢
答案 4 :(得分:0)
我会使用DOM准备将它的显示设置为none,然后在$(window)上显示.load
否则,如果他们没有启用JS,他们将永远不会看到任何东西!
我注意到你的网站在没有JS的情况下仍然可以查看,干得好!