2017-05-07 145 views
0

和平与祝福临到我们。如何更改div背景图片?

基本上我有一个div说:

<div class="divele" style="background: url("/image/bkimg.jpg") top center no-repeat;background-size:cover;"></div> 

然后,我有一个上传按钮,用户可以从他/她的电脑中选取图片,并将其保存在数据库中。在保存文件后的XHR响应之后。服务器使用与/image/bkimg.jpg相同的新图像链接进行响应,此时旧图像已替换为新上载的图像。现在我需要该div重新从服务器请求新的图像。这是我在做什么:

var parts = result; 
$('.divele').css({"background": "url("+parts+") top center no-repeat", "background-size": "cover"}); 

真的不知道为什么,但是这不加载的新形象。

许多方面

+0

如果您使用浏览器的开发工具检查div,如果出现错误,您应该看到某些内容。您也可以检查“网络”标签以验证图像是否被请求。 –

+0

这将工作正常与图像标记,但与背景我们需要完整的路径,如果使用内联。检查与背景图像属性 –

+0

希望这会帮助你: - http://stackoverflow.com/questions/34119048/change-a-background-image-through-a-file-input –

回答

0

多亏了这样的回答:How to reload/refresh an element(image) in jQuery

这也解释了,因为这两个名称是相同的浏览器将使用缓存的版本,为了解决这个问题,你可以简单地添加一个额外的不必要的参数,将如下所示:

d = new Date(); 
$('.divele').css({"background-image": "url("+result+"?"+d.getTime()+")"});