先日、バックナンバーのリスト表示をやめる方法について書きましたが、今回はプルダウン表示にする方法です。
設定方法は先日の方法と同じですが、スクリプトは次のものに差し替えてください。
<script>
var flg;
var new_inner;
var obj_ul=this.document.getElementsByTagName('ul');
for(var i=0;i<obj_ul.length;i++){
flg=false;
new_inner="";
var obj_li=obj_ul[i].getElementsByTagName('li');
for(var j=0;j<obj_li.length;j++){
var obj_li_inner=obj_li[j].innerHTML;
var obj_a=obj_li[j].getElementsByTagName('a');
if((obj_a.length==1)&&(obj_li_inner.match(//..../../index.htm/))){
flg=true;
new_inner=new_inner+"<option value='"+obj_a[0]+"'>"+obj_a[0].innerHTML;
}
}
if(flg==true){
obj_ul[i].innerHTML="<form method=post><select onChange='goto(this)'><option value=''>選んでください"+new_inner+"</select></form>";
}
}
function goto(myobj){
myurl=myobj.options[myobj.selectedIndex].value;
if(myurl!=""){
location.href=myurl;
}
}
</script>
バックナンバー(月別アーカイブ)のリンクが「http://xxx/2004/12/index.html」のように表示される場合(もっと正確に書けば「/nnnn/nn/index.htm」という文字列を含む場合)、これをプルダウン表示に置き換えます。
ブログ人でうまく動きます。ココログでもおそらく大丈夫です。MovableType型ならば大丈夫だと思います。
[2005-01-29(Sat)]
© 2014 You Look Too Cool