2013-07-18 25 views
0

我有一個桌面應用程序面板作爲基礎,它有一個背景。我有一個具有多個圖像的表單來動態更改面板背景。我已經使用下面的代碼爲Firefox和IE工作。但是沒有一款適用於Chrome。但是我開始知道,直接應用於面板div元素會更好。無法動態應用背景面板圖像的鉻在Extjs

我使用的代碼是:

panelbg.setBodyStyle({ 
backgroundImage: 'url('+bgimage+') !important', 
backgroundRepeat: 'no-repeat', 
backgroundPosition: 'center', 
backgroundSize: 'contain' 
}); 

panelbg.setBodyStyle('background-image','url('+bgimage+')');  
panelbg.setBodyStyle('backgorund=position','center'); 
panelbg.setBodyStyle('background-size','cover'); 

如何簡單的設置面板背景,而無需使用多個語句?

非常感謝幫助。

在此先感謝! :)

+0

你能提供的jsfiddle? – acudars

+0

我也嘗試過以下內容:..Ext.fly('mainViewPanel')。el.setStyle({url:'+ bgimage +')!'重要', width:'100%', height:' 100%' }); –

+0

Ext.fly('myPanel')。el.dom.setStyle({'});我認爲這必須奏效,但它表示存在「空值」。 –

回答

0

你試過串聯功能:

panelbg.setBodyStyle('background-image','url('+bgimage+')').setBodyStyle('backgorund=position','center').setBodyStyle('background-size','cover'); 
+0

它僅適用於Firefox,但不適用於IE和Chrome。我主要關心Chrome。 Chrome比任何其他瀏覽器都支持HTML5,我的應用運行得更好。但這件事只能阻止我前進。有沒有機會讓面板的Div更新它? –

0

您是否嘗試過(講究括號,分號和築巢報價):

panelbg.setBodyStyle({ 
    "backgroundImage: url(bgimage) !important; 
    backgroundRepeat: no-repeat; 
    backgorundPosition: center; 
    backgroundSize: contain;" 
}); 
+0

感謝您的答案..實際上最初有一個圖像設置爲配置背景。因此,在應用「setBodyStyle」方法時,它並不是重寫。我已經覆蓋了配置並設置了背景圖片。謝謝你們 :) –