jquery隐藏预加载

时间:2009-04-21 22:55:56

标签: jquery preload

这是我的页面http://equipe94.com/2009e.html

有一些tweek附加到页面(滚动条和箭头)和一些定位

你有办法,完全隐藏一切(只保留背景)..做的事情,并显示完成的页面?

5 个答案:

答案 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的情况下仍然可以查看,干得好!