2014-10-08 165 views
0

我将我网站的所有javascript保存在一个巨大的文件 - my_scripts.js中。在所有页面上,我推迟加载此文件(使用内嵌的JavaScript)。这是加载的最后一件事。被加载的背景图片闪烁

因为对于我的HTML主体我使用大背景图像,我认为这也是一个好主意,也推迟加载这个图像。从我的身体css类我删除了这部分:background-image: url('my_background.jpg');

然后,我my_scripts.js的第一行我加了这一点:document.body.style.backgroundImage = "url(my_background.jpg)";

现在,需要显示的背景图像的CSS加入到我的主样式表与JavaScript。工作,在加载其他所有内容后加载大背景。

但是:当我在页面之间导航时,背景图像闪烁。它每次都被加载。我究竟做错了什么? my_scripts.js应该在浏览器的缓存中!为什么闪烁?

编辑:仍然闪烁如果我

if (document.images) { 
img1 = new Image(); 
img1.src = "my_background.jpg"; 
} 

回答

0

使用background-image:url('my_background.jpg)";而不是document.body.style.backgroundImage = "url(my_background.jpg)";预装的形象,因为,简单地说,你的CSS规则与无闪烁的工作。简单。

+0

我需要添加JS的背景。因为...读者太多太无聊解释.. – Malasorte 2014-10-08 10:00:40

+0

好吧..也许你是对的.. – Malasorte 2014-10-08 10:30:57