« 明日から夏休み | トップページ | カレンダースクリプトの小技その2:日曜は赤色・土曜は青色にする »

2006/08/12

カレンダースクリプトの小技その1:整形が終わるまで隠しておく

カレンダースクリプトですが、ココログ標準のカレンダーを整形しているため、整形中の過程が見えてしまうという問題があります。
つまり、いったん今月のカレンダーが表示されてから、ナビを追加したり、URLを元にした月のカレンダーに書き換わったりするため、結構気になります。

特に上部に設置していると目立ちます。

この違和感を少しでも軽減するため、整形が完了するまではサイドバーを隠しておく小技を紹介しておきます。

  1. カスタムCSSでサイドバー部分を非表示に設定
    具体的には、管理画面より、
    管理ページトップ > ブログ一覧 > (ブログ名) > デザイン > カスタムCSSを編集
    にて、次の記述を追加し、[変更を保存]します。
    .sidebar {
    display:none;
    }
  2. マイリストのカレンダー設置フォームを変更
    具体的には、設置フォームのHTMLを次のように変更します。
    <!--【JavaScript版カレンダー】 -->
    <script type="text/javascript" src="https://furyu.tea-nifty.com/script/prototype.js"></script>
    <script type="text/javascript" src="https://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="https://furyu.tea-nifty.com/script/cocoCalendar.js"></script>
    <script type="text/javascript" >
    <!--
    // === [カスタマイズカレンダー呼出]
    checkCreateCalendar();
    //-->
    </script>
    赤字が今回追加したところです。

このように設定することにより、カレンダーの整形が終わるまではサイドバーの中身は隠れており、整形完了後に表示されるようになります。
【2006.08.16】calendarOnload内を若干手直し(Opera対策:ただし動作未確認)。

ちなみに、ご覧のように、

var calendarOnload = function( calendarObj ) {
/* カレンダー整形完了後に処理される内容 */
}
といった形で calendarOnload を登録しておくことで、カレンダー整形完了を待ってから様々な処理を行うことができますので、JavaScriptをご存じの方なら応用も可能かと思います。
例えば、さらに自分好みにカスタマイズを加えた後で表示させるようにするとか。

カレンダー

« 明日から夏休み | トップページ | カレンダースクリプトの小技その2:日曜は赤色・土曜は青色にする »

ウェブログ・ココログ関連」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« 明日から夏休み | トップページ | カレンダースクリプトの小技その2:日曜は赤色・土曜は青色にする »

戻るリンク追加

カレンダー

2021年11月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

最近のトラックバック

コメントリストツリー化

無料ブログはココログ