jqueryが入っていなければenqueue scriptして使う。
下記スクリプトは、archiveなどの、widgetで表示する際にリストで表示されるものに使える。
cssで、はじめはwidgetのタイトル以外は非表示にしておく
.widget ul {display:none;}
タイトルをclickしたときにリストを表示するjavascriptをfooterとかに入れておく。
<script type="text/javascript"> var $ = jQuery.noConflict(); // sidebar slide up/down $('.widgettitle').click(function() { var parent_id = $(this).parent().attr('id');// $('.widgettitle'); if ($('#' + parent_id + ' ul').is(":visible") ) { $('#' + parent_id + ' ul').slideUp('slow', function() { // Animation complete. }); } else { $('#' + parent_id + ' ul').slideDown('slow', function() { // Animation complete. }); } }); </script>
このブログでも入れてみている。cssで初期非表示にしていないが、タイトルをクリックすると、widgetのリストが畳まれる/表示するのが確認できる。
上記のではリスト<ul>のものをslideUp/downさせるが、他にも入れたければcssとjsに追記すれば良い。
【追記】
.widgettitleのcssに cursor: pointer; を追加すると、ポインタが指になるからリンクと認識させられて良い。