2010-03-15 140 views
0

我使用這個代碼:更改背景圖片 - jQuery UI的

 $('.ui-accordion').bind('accordionchange', function(event, ui) { 
      $(this).next().next().css({'background-image':'images/green-bg.jpg'}); 
     //ui.newHeader // jQuery object, activated header 
    //ui.oldHeader // jQuery object, previous header 
// ui.newContent // jQuery object, activated content 
// ui.oldContent // jQuery object, previous content 
}); 

嘗試改變上一個頭的背景圖像,它改變了。我看到jQuery文檔爲oldHeader提供了對象,但我正在嘗試更改該元素的CSS。任何想法我會怎麼做?

所以你去下一個它去綠色,然後當前將是紅色。

回答

2

你只是想擁有它。這個工作對我來說:

$('#div0').bind('accordionchange', function(event, ui) { 
     addMessage("change"); 
     if (typeof ui.oldHeader != "undefined") {ui.oldHeader.css({'background': 'Pink'});} 
     if (typeof ui.oldContent != "undefined") { ui.oldContent.css({'background': 'White'}); } 
     if (typeof ui.newHeader != "undefined") {ui.newHeader.css({'background': 'Yellow'}); } 
     if (typeof ui.newContent != "undefined") { ui.newContent.css({'background': 'LightGreen'}); } 
    }); 

當我打開一個div,爲開放DIV頭得到一個黃色BG和內容得到了綠色BG。剛剛關閉的標題變成粉紅色。您需要測試undefined,因爲當關閉div而不打開另一個時,newHeader/Content未定義。同樣,當打開一個div時,之前全部關閉,oldHeader/Content是未定義的。

工作示例:http://jsbin.com/arebi4/4

我想通了這一點通過在調試器中運行的頁面(無論是螢火蟲或IE8 F12調試工程),並在accordionchange功能突破。

+0

啊啊是的,我非常接近,很好......謝謝!讓我試試這個。 – Coughlin 2010-03-15 19:05:46