2013-06-05 19 views
0

我想使用jQuery動態更新div的背景,如果它已經在服務器上更改(即使頁面可以保持打開狀態並且背景圖像將刷新) 。使用jQuery更新CSS背景,如果它已經在服務器上更改

我有以下代碼,它適用於#current div內容,但不適用#banner的背景圖像。

setInterval(function(){ 
    $.get('/index.php',function(data){ 
     $('#current').empty().append($('#current_refresh',data)); 
     var banner_bg = $(data).filter($('#banner').css('background-image')); 
     $('#banner').css('backgroundImage',banner_bg); 
    }); 
}, 5000); 

回答

2

的問題是這一行:

$(data).filter($('#banner').css('background-image')); 

jQuery的過濾器的工作原理上的元素,但這種試圖返回的字符串從css()過濾。

要想從元素上的內嵌樣式的背景圖片你會做:

$.get('/index.php',function(data){ 
    $('#current').empty().append($('#current_refresh',data)); 

    var banner_bg = $('<div />', {html:data}).find('#banner').css('background-image'); 

    $('#banner').css('background-image', banner_bg); 

}); 

當然,這隻能看起來像一個元素上:

<div id="banner" style="background-image: url('image.jpg')"></div> 

,並沒有按」從樣式表等獲取樣式?

+0

釘釘!感謝隊友,我會盡快接受你的回答。乾杯:) – da5id