2017-05-07 147 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()+")"});