カレンダースクリプトの小技その1:整形が終わるまで隠しておく
カレンダースクリプトですが、ココログ標準のカレンダーを整形しているため、整形中の過程が見えてしまうという問題があります。
つまり、いったん今月のカレンダーが表示されてから、ナビを追加したり、URLを元にした月のカレンダーに書き換わったりするため、結構気になります。
この違和感を少しでも軽減するため、整形が完了するまではサイドバーを隠しておく小技を紹介しておきます。
- カスタムCSSでサイドバー部分を非表示に設定
具体的には、管理画面より、
管理ページトップ > ブログ一覧 > (ブログ名) > デザイン > カスタムCSSを編集
にて、次の記述を追加し、[変更を保存]します。.sidebar {
display:none;
}
- マイリストのカレンダー設置フォームを変更
具体的には、設置フォームのHTMLを次のように変更します。<!--【JavaScript版カレンダー】 -->
<script type="text/javascript" src="http://furyu.tea-nifty.com/script/prototype.js"></script>
<script type="text/javascript" src="http://furyu.tea-nifty.com/script/dayChecker.js"></script>
<script type="text/javascript" >
<!--
// === [オプション設定]
var calendarType ='J' ; // J:日本語 E:英語
var dateArchive = false ; // 日別アーカイブ有りの場合のみtrue設定可(日別ページへのリンクになる)
var calendarOnload = function( calendarObj ) {
if ( navigator.userAgent.match( /Opera/i ) ) {
var divs = document.getElementsByTagName('div') ;
for ( var ci=0; ci < divs.length; ci++ ) {
if ( divs[ci].className == 'sidebar' ) {
divs[ci].style.display = 'block' ;
}
}
}
else {
calendarCssAddRule( ".sidebar", "display:block" ) ;
}
}
//-->
</script>
<noscript>
<style type="text/css">
<!--
.sidebar {
display:block;
}
-->
</style>
</noscript>
<script type="text/javascript" src="http://furyu.tea-nifty.com/script/cocoCalendar.js"></script>
<script type="text/javascript" >
<!--
// === [カスタマイズカレンダー呼出]
checkCreateCalendar();
//-->
</script>
赤字が今回追加したところです。
このように設定することにより、カレンダーの整形が終わるまではサイドバーの中身は隠れており、整形完了後に表示されるようになります。
【2006.08.16】calendarOnload内を若干手直し(Opera対策:ただし動作未確認)。
ちなみに、ご覧のように、
/* カレンダー整形完了後に処理される内容 */
}
2006/08/12(土) 00:50 | 固定リンク
| 記事の編集(管理者用)
「ウェブログ・ココログ関連」カテゴリの記事
- ココでも:ココログ広場ユーザーのブログをキーワードで検索するサービスを試作(2010.10.29)
- ココログ用ReadMore:トップページの『》 続きを読む』をその場で展開するスクリプト(2010.11.06)
- ココだい:ココログ広場 ≫ つぶやきのお題をキーワードで検索するサービスを試作(2010.11.07)
- ココログカレンダーPlusをココログオリジナル・テーマ(の一部)に対応(2010.11.05)
- ココログカレンダーPlus(2008.01.21)

