2013-05-15 22 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')。 –