seesaaのサイドバーを折りたたむ
seesaaのサイドバーを折りたたんでみました。
参考にしたのは、色と日記とウェブログさまの「[ブログ]番外編 コラム開閉スクリプト」です。
livedoorの記事ですが、seesaaでも使えるようです。
1.折りたたみスクリプトをコピーします。
ここでは、ボタンに表示する文字を設定できます。
「▲」が開いているとき(ココログの「-」)、「▼」が閉じているとき(ココログの「+」)です。
/* 折りたたみスクリプト */
function toggleOpenClose(id,val){
if(val == "▲"){
document.getElementById(id).style.display = "none";
document.getElementById('btn' + id).value = "▼";
}
else{
document.getElementById(id).style.display = "block";
document.getElementById('btn' + id).value = "▲";
}
}
function getButton(obj, i , sInner , bDefaut){
var ret;
var val;
if ( bDefaut ) {
val = "▲";
}
else {
val = "▼";
}
ret = '<div align="left">'+'<label for="btncolumn' + i + '" class="columntitle">' + sInner + '</label>'+'<input type="button" value="' + val + '" id="btncolumn' + i + '" class="btncolumn" onclick="toggleOpenClose(\'column' + i + '\',this.value);"/>'+'</div>';
obj.setAttribute("id", 'column' + i);
return ret;
}
最後の「ret = ~</div>」で、サイドバーのコンテンツ名(=sidetitleの値)と開閉ボタンの順番を決めています。
私の記述では、名前→開閉ボタンの順で表示されます。
開閉ボタン→名前の順に表示するには、以下の記述に差し替えてください。
ret = '<div align="left">'+'<input type="button" value="' + val + '" id="btncolumn' + i + '" class="btncolumn" onclick="toggleOpenClose(\'column' + i + '\',this.value);"/>'+'<label for="btncolumn' + i + '" class="columntitle">' + sInner + '</label>'+'</div>';
またこの「<div align="left">」で、コンテンツ名の文字の配置を指定しています。
中央寄せにしたい場合は「center」を指定してください。
2.次に、開閉ボタンの設定をします。
「aryTitle」には、ボタンをつけたいコンテンツの名前(=sidetitleの値)を入れます。
「aryDefault」では、デフォルトでの折りたたみ状態を指定します。
開いておく場合は「true」、閉じておく場合は「false」にします。
[]内の数字は、1から連番にしていきます。
「aryTitle」と「aryDefault」の2行でワンセットなので、同じ値を入れます。
var aryTitle = new Array();
var aryDefault = new Array();
/* 折りたたみ箇所指定 */
aryTitle[1] = "新着記事";
aryDefault[1] = true;
aryTitle[2] = "最近のコメント";
aryDefault[2] = false;
3.折りたたみの処理部をコピーします。
/* 折りたたみ処理 */
var aryDiv = document.getElementsByTagName("div");
var sTmpInner;
for(var j = 0; j < aryDiv.length; j++){
if(aryDiv[j].getAttribute("class") == "sidetitle" ||aryDiv[j].getAttribute("className") == "sidetitle"){
sTmpInner = aryDiv[j].innerHTML;
for(var i = 0; i < aryTitle.length ; i++){
if (sTmpInner.indexOf(aryTitle[i]) != -1 ) {
aryDiv[j].innerHTML = getButton(aryDiv[j+1], i , sTmpInner , aryDefault[i]);
}
}
}
}
if(document.getElementById){
document.writeln('<style type="text/css" media="all">');
document.writeln('<!--');
for(var i = 0; i < aryDefault.length ; i++){
if( aryDefault[i] ){
document.writeln('#column' + i + '{display:block;}');
}
else {
document.writeln('#column' + i + '{display:none;}');
}
}
document.writeln('-->');
document.writeln('</style>');
}
4.手順1~3の記述をファイルに保存します。
文字コードはEUC-JP、形式はJavaScriptで保存します。
例》sidebarfold.js
5.「ツール」→「ファイルマネージャー」でこのファイルをアップロードします。
6.サイドバーの最下部に「自由形式」のコンテンツを追加します。
手順5でアップロードしたファイルのURLに変更します。
<SCRIPT language="JavaScript" type="text/javascript" src="http://***.seesaa.net/file/***.js" charset="EUC-JP"></SCRIPT>
7.再構築すれば、設置は完了です。
8.折りたたみボタンのデザインを変更するには、CSSに記述を追加します。
私はボタンの位置を右寄せにしました。
/* 折りたたみボタン */
.btncolumn{
font-size:8pt;
color:#5F5F5F;
text-align:center;
border:1px solid #BFBEBA;
background:#FFFFFF;
height:14px;
width:14px;
float:right;
margin-top: -15px;
}
【補足】
ココログのように、ボタンの開閉で色を変更できると更にいいですね。
手順1とCSSを以下のように変えることで、起動時に開閉で色を分けることは出来ました。
function getButton(obj, i , sInner , bDefaut){
var ret;
var val;
var classname;
if ( bDefaut ) {
val = "▲";
classname = "btnfold";
}
else {
val = "▼";
classname = "btnunfold";
}
ret = '<div align="left">'+'<label for="btncolumn' + i + '" class="columntitle">' + sInner + '</label>'+'<input type="button" value="' + val + '" id="btncolumn' + i + '" class="' + classname + '" onclick="toggleOpenClose(\'column' + i + '\',this.value);"/>'+'</div>';
obj.setAttribute("id", 'column' + i);
return ret;
}
/* 折りたたみボタン▲ */
.btnfold{
font-size:8pt;
color:#DB7093;
text-align:center;
border:1px solid #DB7093;
background:#FFFFFF;
height:14px;
width:14px;
float:right;
margin-top: -15px;
}
/* 折りたたみボタン▼ */
.btnunfold{
font-size:8pt;
color:#697497;
text-align:center;
border:1px solid #697497;
background:#FFFFFF;
height:14px;
width:14px;
float:right;
margin-top: -15px;
}
でもこれでは、起動時の色で固定になってしまうんですよね^^;
ボタンを閉じたり開いたりしたときに、うまく変わってくれないんです。
それから、折りたたみの状態保持もできないのですね。
【追記】
折りたたみの開閉で、ボタンの色を変えるよう変更しました。
詳しくは「seesaaサイドバー折りたたみボタンの色を開閉で変える」をご覧ください。
| 固定リンク
「ウェブログ・ココログ関連」カテゴリの記事
- ブクログの本棚をサイドバーに貼り付けてみた (2009.01.18)
- サイドバーの「最近の記事」を、日付別にツリー表示(2007.02.26)
- ココログのサイト内全文検索窓を設置(2005.10.31)
- 特定の記事が保存(再構築)できなかった覚書(2008.04.09)
- CSSでココログの画像をポラロイド風にアレンジ(2006.05.23)


コメント
またもや惜しい!
開閉で色を変えるには、さらに、
function toggleOpenClose(id,val){
。。。
}
のところに、.classNameの指定行を加えればOKのはず。
function toggleOpenClose(id,val){
if(val == "▲"){
document.getElementById(id).style.display = "none";
document.getElementById('btn' + id).value = "▼";
document.getElementById('btn' + id).className = "btnunfold";
}
else{
document.getElementById(id).style.display = "block";
document.getElementById('btn' + id).value = "▲";
document.getElementById('btn' + id).className = "btnfold";
}
}
こんな感じかな。
# btnfold/btnunfoldは、逆かもしれません。
# しかし、すっきりしたスクリプトですね〜。私のとは大違い(^^;。勉強になりました。
投稿: facet | 2005.04.07 18:22
★facetさん
いつもながらご指導ありがとうございました。
無事開閉での色変えができました[ミニハート]
ソース自体は遡ると、地獄変00さまの記事やパンパでガウチョさまの記事に辿りつくようです。
今回は直接参考にさせていただいた記事にリンクを貼りましたが。
># しかし、すっきりしたスクリプトですね〜。私のとは大違い(^^;。
このスクリプトは、設定を変えるのにスクリプトの中身をいじらなきゃいけないですよね。
例えばボタンを右にするか左にするかとか。
facetさんのは、マイリストの設定項目をいじるだけでいいので、
初心者でも分かりやすいなと思います。
投稿: KOROPPY | 2005.04.07 20:36
KOROPPYさんこんにちは。りょーちと申します。某SNSで見かけたKOROPPYさんの「SeeSaaのサイドバーを折りたたむ」を参考にいたしまして(というか100%パクりまして)サイドバー折り畳みが実現できました。ありがとうございました。
それにしてもKOROPPYさんはいろんなところにアンテナを張り巡らせていてすごいですねー。
(その感度のよさを見習わなければ・・・)
今後ともよろしくお願いいたします。
投稿: りょーち | 2005.04.19 11:33
★りょーちさん
トラバありがとうございました[♪]
私も元記事のスクリプト、そのままコピペですから[汗]
一口にサイドバーを折りたたむといっても、
今回の方法だったりfacetさんのスクリプトだったり、
色んな技があって面白いですよね。
投稿: KOROPPY | 2005.04.19 12:59
KOROPPYさん、はじめまして^^
サイドバーがどんどん増えていくので
どうしてもすっきりさせたいと考え検索したところ
ここのHPにたどり着きました[♪]
方法をほぼ真似して使用しています。
今後ともよろしくおねがいします
投稿: ゆっきぃ | 2005.06.08 03:21
★ゆっきぃさん
トラバありがとうございました。
ボタンの色変えもできますので、よかったらそちらもチャレンジしてみてくださいね。
開閉がぐっと分かりやすくなりますよ[♪]
投稿: KOROPPY | 2005.06.08 09:47
ボタンの色変えですか(☆∀☆)
今日学校からかえったら早速やってみます^^
なんていうかお金稼ぎたいとおもったら
blogの見栄えが気になってしまうのは
やっぱりがめついのかなぁっておもってしまったり。。
記事のおりたたみも便利でしたのでぜひ(ノ´∀`*)
投稿: ゆっきぃ | 2005.06.08 11:43
★ゆっきぃさん
Blogの見た目って大事ですよね。
自分が気に入るような仕上がりじゃないと、
やる気が違うって言うか。
投稿: KOROPPY | 2005.06.08 13:10
はじめまして。あこと申します。
とってもスッキリしていてステキなブログですね[ハート]
サイドバー折りたたみ、挑戦したい!と思い、早速Terapadをインストールしてみて、上記スプリクトをコピってみたのですが、Terapadを保存するときに、EUC-JPというものがないのです[涙]
選択できない部分で「EUC-JP」と書いてあるものは見つけたんですが、選択できないのでどうしていいのか分からなくなってしまいました[汗]
助けていただけたら嬉しいです・
とんちんかんな質問だったらすみません[涙]
投稿: あこ | 2005.06.29 13:59
★あこさん
EUC-JPが選べない場合は、そのまま普通に保存して、
手順6の「charset="EUC-JP"」をなしにしたら動くかもしれません。
駄目でしたらサクラエディタなどを利用して、
やはりEUC-JPで保存しなおしてみてくださいね。
投稿: KOROPPY | 2005.06.29 17:05
こんにちは。
コメントの回答、ありがとうございます[ミニハート]
サクラエディタもダウンロードして試してみたのですが、今度はEUC-JPも、形式のJavaScriptもどうやってやるのか分かりませんでした[涙]
charset="EUC-JP"をナシにする方法も試してみたのですが、変化なし・・・・。
EUCというのはあるので、それで保存してアップロードしてみると、http://okozukai-get.seesaa.net/image/aaaaa.js" と書かれていて、手順6のURLと全然違うんです。
imageになってるし、altも入ってるし[・・・]
わたしには無理なのかも(>_<。。。
せっかく回答いただいたのに、申し訳ないですぅ[涙]
投稿: あこ | 2005.06.30 00:53
★あこさん
seesaaではデフォルトのアップロード先がimageになっているので、
「アップロード」ボタンの右の「その他入力項目」をクリックしてください。
「新しいディレクトリの作成」が出てきますので、
こちらで「file」を作成することができます。
次からは「ディレクトリ名」の中に作成した「file」も出てきます。
たぶんimageフォルダでも動くと思うんですが[・・・]
それからサクラエディタで文字コードを変えるには、
「名前をつけて保存」画面で「文字コードセット」を「EUC-JP」にしてください。
「ファイルの種類」の下にあります。
投稿: KOROPPY | 2005.06.30 06:21
こんにちは。あこです。
ご丁寧な回答ありがとうございます[ミニハート]
でも・・・出来ないみたいです[涙]
サクラエディタの「文字コードセット」にEUC-JPというものがないのですが、初期設定で普通は出るものなんでしょうか?あぁ・・・分からない[汗]形式のところにもjavasplictがありません。
もう少し、試行錯誤してみます[!]
きっと、わたしが何か間違えているはずなので・・・。
KOROPPYさんのご丁寧な回答には本当に感謝[ハート]です。
投稿: あこ | 2005.07.01 02:53
★あこさん
正確には「EUC」という選択肢なんですが、見当たりませんか?
「SJIS」「JIS」「ECU」「Unicode」「UnicodeBE」「UTF-8」「UTF-7」、
という選択肢がこちらでは表示されます。
特に何か設定をした覚えはないのでデフォルトで出たと思うのですが、
うーん、なんでだろう[・・・]
「ファイルの種類」はJavaScriptがなくても構いません。
保存するときの拡張子を「.js」にすればOKです。
投稿: KOROPPY | 2005.07.01 10:00
こんにちは。サイドバー折りたたみ、参考にさせていただきました!
とてもわかりやすい説明で、なんとか私でも
成功いたしました。^^
どうもありがとうございました。
投稿: ちーず | 2005.07.23 17:22
★ちーずさん
参考になったといっていただけると、とても嬉しいです[ハート]
それから記事でのご紹介もありがとうございました。
投稿: KOROPPY | 2005.07.24 12:29
はじめまして、こんにちは
この度は記事を参考にさせていただきましてどうもありがとうございました[♪]
1日遅くなってしまいましたがトラックバックも送らせてもらいました。
コメントまでつけていただいて嬉しかったです[ハート]
今後もカスタマイズするときは色々参考にさせていただくと思いますので
よろしくお願いします<(_ _)>ぺこ
投稿: さっち | 2005.09.22 13:48
★さっちさん
トラバありがとうございました。
サイドバーの折りたたみは、手放せない便利さですよね[ハート]
投稿: KOROPPY | 2005.09.22 15:36
初めまして。
サイトバーの折りたたみ、参考にさせて頂きました。
とても分りやすい説明だったので、なんとか
設置できました。
どうもありがとうございました。
投稿: HARUHI | 2005.10.07 07:46
★HARUHIさん
励みになるカキコ、ありがとうございます[ハート]
うちも子供がいるので「にほんごであそぼ」はいつも見てます。
大人でもはっとするような日本語表現がでてきて、
面白いですよね。
投稿: KOROPPY | 2005.10.07 13:32
nekobabaと申します。
折りたたみサイドバー、マネをさせて頂きました。
ありがとうございます。
投稿: nekobaba | 2005.10.09 21:36
★nekobabaさん
後姿ラブリー同盟ではお世話になってます。
参考になりましたら嬉しいです[ハート]
投稿: KOROPPY | 2005.10.10 08:28
KOROPPYさん。ありがとうございます。
折りたたみ、出来ちゃいました。
ただ、サブタイトルの上下幅をもそっと広げたいのですが・・・。
(下の線(bordar)と自がくっついちゃいました)
アドバイスいただけると、ありがたいです。
投稿: ぶしどお | 2006.06.24 02:20
【ぶしどおさん】
サブタイトルの枠線がくっつきあわないようにしたい、
ということでしょうか。
CSSで以下のように調節してみてはいかがでしょう。
投稿: KOROPPY | 2006.06.24 11:03
KOROPPY様、こんばんわ。
この記事を参考にして、かねてより悲願の、サイドバーのメニューを折りたたむことが出来ました!
大変分かりやすく、ためになりました!
またカスタマイズ関連でお邪魔すると思いますが、よろしくお願いします!!
投稿: モアイネコ | 2007.07.24 01:51
【モアイネコさんへ】
こんにちは。
>この記事を参考にして、かねてより悲願の、サイドバーのメニューを折りたたむことが出来ました!
おめでとうございます(^-^)//""
折りたたみがあると安心して、
ついサイドバーのコンテンツを増やしてしまいがちですw
投稿: KOROPPY | 2007.07.24 12:59
はじめまして。
”アセラ”で出来ました!
サイドがすっきりして感激!
ありがとうございます。
*素人なので、.jsっていうファイルの作成方法すら分からず、そこの部分は他のブログを参考にしました。
投稿: Dood-lee-doo | 2007.08.16 14:07
【Dood-lee-dooさんへ】
初めまして、こんにちは。
別のブログサービスでも動作したとのこと、
おめでとうございます[♪]
投稿: KOROPPY | 2007.08.16 18:22