月別アーカイブリストをプルダウンメニュー化
このブログのサイドバーって、デザイン的にちょこっと縦長だよね。
そこで、Serene Bachのテンプレートを弄った。
<!-- BEGIN archives -->
<dl id="archives">
<dt id="archivename">Archives</dt>
<dd id="archivelist">{archives_list}</dd>
</dl>
<script type="text/javascript">ArchiveChange();</script>
<!-- END archives -->
function ArchiveChange() {
var oldlist = document.getElementById('archivelist').getElementsByTagName('ul')[0].getElementsByTagName('li');
var newlist = new Array();
for (i = 0; i < oldlist.length; i++) {
var myhref = oldlist[i].getElementsByTagName('a')[0].getAttribute('href');
var mytext = oldlist[i].innerHTML.replace(/^<.+>(.+)<.+>(.+)$/, '$1$2');
newlist.push('<option value="' + myhref + '">' + mytext + '</option>');
}
document.getElementById('archivelist').innerHTML = '<div align="center"><form action="javascript:void(0);"><select name="u">' + newlist.join('') + '</select> <input type="button" value="GO" onclick="javascript:location.href=this.form.u.value;return false;" /></form></div>';
}
上段がサイドバーのXHTMLで、下段が外部JavaScriptファイルに追加したコード。
Comments