首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当图像本身准备好时,显示<body>背景图像

问当图像本身准备好时,显示<body>背景图像
EN

Stack Overflow用户
提问于 2013-05-19 18:03:19
回答 4查看 1.4K关注 0票数 0

基本上,我让网页加载所有的东西,但是由于图像很大,我宁愿在浏览器还在下载的时候不显示它。

相反,当浏览器完成图像下载时,我想显示这个背景(带有衰落效应)。

问题是,background-image必须在body标记中设置,所以我不想通过使用$('body').hide;或$('body').show;来应用jQuery,因为它实际上隐藏了整个网页。

我一直在搜索这个特性,但只有当人们想要在另一个标记中显示/隐藏它们时(而不是全包装的一个(我的例子中是body),我才会找到这种情况)。

这是可能的还是我只是到达火星本身?谢谢你的帮忙!

EN

回答 4

Stack Overflow用户

发布于 2013-05-19 18:07:05

只需在页面加载后设置body背景图像属性,如下所示:

代码语言:javascript
复制
jQuery('body').css('background-image', 'url(path/to/some/image.jpg)');

请看这里:http://jsfiddle.net/duffmaster33/Z9pEg/

票数 0
EN

Stack Overflow用户

发布于 2013-05-19 18:07:13

我建议你做以下几点:

  1. 将图像单独下载到文档中。
  2. 然后在JavaScript中加载图像
  3. 只在下载完成后才将其设置为背景(它将被缓存,因此您只需指向图像的src即可工作) img.onload =函数(){.$(‘body’).css(‘背景-图像’,'url(‘+ http://path/to/image.jpg + ')');} img.src = "http://path/to/image.jpg";
  4. 可选:只在文档加载完成后运行所有操作(将函数体包装为: function() {.$(‘body’){ function (‘body’).css(‘背景-图像’,'url(‘+ http://path/to/image.jpg + ')');}}
票数 0
EN

Stack Overflow用户

发布于 2013-05-19 18:07:21

您必须创建两个CSS类。bodyloading和bodyloaded.第一个是body标记的默认类名。加载页面后,可以将主体标记类名更改为bodyloaded

代码语言:javascript
复制
document.body.className = "bodyloaded";

因此,将显示第二个css (包含背景图像)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16637777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档