2012-01-07 20 views
1

的jsfiddle鏈接內行事觸發一個事件:使用jQueryUI的手風琴,當它變爲新的 「窗格」

http://jsfiddle.net/dqkZN/32/


下面是相關代碼:

<div class="categories">  
    <h3> 
     <img src="http://i.imgur.com/t5UXT.gif" /> 
     <a href="#">CCTV</a> 
     <sub>Circuito Cerrado</sub> 
    </h3>  
    <div> 
     <ul> 
      <li><a href="#">Control de Asistencia</a></li> 
      <li><a href="#">Controladores de Accesso</a></li> 
      <li><a href="#">Controladores de Asistencia</a></li> 
      <li><a href="#">Chapas Electricas</a></li> 
      <li><a href="#">Chapas Electromagneticas</a></li> 
      <li><a href="#">Tarjetas de Proximidad</a></li> 
     </ul> 
    </div> 

    <h3> 
     <img src="http://i.imgur.com/TThAk.gif" /> 
     <a href="#">ALARMAS</a> 
     <sub>Magellan Sprit Spectra Digiplex/Evo</sub> 
    </h3>  
    <div> 
     <ul> 
      <li><a href="#">Control de Asistencia</a></li> 
      <li><a href="#">Controladores de Accesso</a></li> 
      <li><a href="#">Controladores de Asistencia</a></li> 
      <li><a href="#">Chapas Electricas</a></li> 
      <li><a href="#">Chapas Electromagneticas</a></li> 
      <li><a href="#">Tarjetas de Proximidad</a></li> 
     </ul> 
    </div> 
</div> 

$('.categories').accordion(); 

$('.categories').accordion({ 
    changestart: function(event, ui) { 
     $('h3 img').attr('src', 'http://i.imgur.com/TThAk.gif'); 
    } 
}); 

$('.categories h3 img').click(function() { 
    $(this).next().click(); 
}); 

當某人點擊某個類別標題時,我想將每個圖標更改爲加號(表示已摺疊),然後將新選定的窗格圖標更改爲減號。

下面是具體的地方,我想我需要將JavaScript代碼:

$('.categories').accordion({ 
    changestart: function(event, ui) { 
     $('h3 img').attr('src', 'http://i.imgur.com/TThAk.gif'); 
     //SOME CODE SHOULD GO HERE TO ACT ON "THIS" NEWLY SELECTED PANE. 
    } 
}); 

回答

3

新小提琴http://jsfiddle.net/dqkZN/39/

這是你在找什麼?

var minusImgUrl = "http://i.imgur.com/t5UXT.gif", 
    plusImgUrl = "http://i.imgur.com/TThAk.gif"; 

$('.categories').accordion({ 
changestart: function(event, ui) { 
    $('h3 img').attr('src', 'http://i.imgur.com/TThAk.gif');  
    ui.newHeader.find("img").attr("src", minusImgUrl); 
    ui.oldHeader.find("img").attr("src", plusImgUrl); 
} 
}); 
+0

是的,這正是我一直在尋找。感謝您的幫助。即使閱讀文檔後,我也不知道如何使用'ui.newHeader'。 – 2012-01-07 02:28:21

0

在這裏你去:http://jsfiddle.net/dqkZN/37/

只是說:

$('.categories').accordion({ 
    changestart: function(event, ui) { 
     var active = ui.options.active; 
     $("h3 img").attr('src', extend_icon); 
     $("h3:eq(" + active + ")").find('img').attr('src', collapse_icon); 
    } 
});