2013-05-15 15 views
0

我有一個EXTJS面板作爲桌面背景。我添加了一些代碼來動態更改背景圖片。在Firefox中它運行良好,但它在任何其他瀏覽器中都不起作用。無法動態更改IE,Chrome和Safari的面板背景圖像extjs

var panelbg = Ext.getCmp('windowarea').body; 
var tree = Ext.getCmp('desktoptree'); 
if (tree.getSelectionModel().hasSelection()) 
{ 
    var selectedNode = tree.getSelectionModel().getSelection(); 
    var nodeid = selectedNode[0].data.id; 
    var demo = "Data/wall/"+nodeid+".jpg"; 
    panelbg.setStyle('background-image','url('+demo+')'); 
    panelbg.setStyle('background-size','cover'); 
} 

請幫幫我。

由於提前

+0

無法記住我的頭頂,但這是否需要JS版本的樣式屬性,例如'backgroundImage',backgroundSize'? – existdissolve

+0

我現在無法測試它,但是你可以用applyStyles()代替setStyle() –

回答

0

要改變面板的背景圖像嘗試使用setBodyStyle:

var panelbg = Ext.getCmp('windowarea'); 
var demo = "Data/wall/"+nodeid+".jpg"; 
panelbg.setBodyStyle('background:url(' + demo + ')'); 

我有一個小樣本的位置:http://jsfiddle.net/d9zQc/3/

我已經做了在IE10一些測試,Firefox 21和Chrome 26以及所有工作正常。

乾杯。

+0

這樣做不起作用。我嘗試過不同的組合。 :( – user2274441

+0

很抱歉聽到這個消息,只是爲了確保當你得到你的面板(panelbg)時最終沒有使用.body,而是使用了Ext.getCmp('windowarea')。 –