2015-11-05 51 views
0

每次运行该项目。该页面不会加载背景图像,直到您刷新页面2-3次或点击浏览器的f12键。我也使用preload.js。div中的背景图像不会加载,直到您刷新它

<div class="fill-screen" style="background-image:url(../images/office.jpg); " data-src="images/office.jpg"> 

脚本:

$(function() { 
var $this, src; 

    $('img').each(function(){ 
     $this = $(this); 
     src = $this.data('src'); 
     $this.attr('src', src); 
    }); 

    $('div').preload(function(){ 
     $(this).show(); 
     }); 

     }); 

,这是CSS。

.fill-screen{ 
    background-size: cover; 
    background-position: center; 
    background-color:greenyellow; 
} 

我想知道我哪里出错了。我只是想当我运行它的页面将加载一切。

+2

你不必在你的代码中的任何''您 – mplungjan

+0

包括jQuery的预加载后脚本? – lgabster

+0

@mplungjan是的,但经过多次刷新或点击f12后,现在显示背景图像。如果我在这里有一个错误,背景图片不能完全显示。 – user3427720

回答

0

您在共享的代码中没有任何img元素,但是您使用的是背景img。

你没有设置src值来更新你的例子中的图像,你需要用url重写背景图片的css。

尝试类似这样的东西。

$('.fill-screen').each(function() { 
    var $this = $(this); 
    var src = $this.data('src'); 
    $this.css('background-image', 'url(' + src +')'); 
}); 
+0

它仍然无法正常工作。我必须刷新页面2-3次或点击f12。我的代码可能有什么错误。 – user3427720