« JavaScriptの設計者はLISP信者に違いない | トップページ | David Flanagan「JavaScript 第六版」オライリージャパン 村上列訳 »

2013年6月23日 (日)

ココログの右サイドバーを隠すJavaScript試作版

>>

 相変わらず JavaScript で遊んでる。今回のは、ココログの右サイドバーを隠したり表示したりする JavaScript。右上の赤い「>>」または「<<」をクリックすると、サイドバーが出たり隠れたりする…はず。ローカル環境の Firefox と Safari だと動いたんだけど、実際にココログで動かすと、どうなることやら。つか、相変わらずデザイン・センスは最低だな、をれ。

以下、ソース。「表示/隠す」のHTMLは、こんな感じ。

<span onclick="com_cocologNifty_chikuwablog.toggleSideBar.toggle(); " style="color: red;"><a name="toggleSideBar">&gt;&gt;</a></span>

JavaScript は以下。

<script type="text/javascript">
//<![CDATA[
var com_cocologNifty_chikuwablog;
if( !com_cocologNifty_chikuwablog ) com_cocologNifty_chikuwablog={};

com_cocologNifty_chikuwablog.toggleSideBar = (function() {
    var bWidth = "200px";
    var cRight, cCenter;
    var isShow = 1;                    //hide:0; show:1

    var minWidth = 600;                //const
    var nRight = "#right";            //const
    var nCenter = "#center";        //const
    var nName = "toggleSideBar";    //const

    function cEach( a, f ) { for( var i=0; i<a.length; i++ ) f(a[i]); }

    function doAlert() {
        alert( "iWidth:"+innerWidth+" iHeight:"+innerHeight+
         " sWidth:"+window.screen.width+" sHeight:"+window.screen.height );
    }

    function doToggle() {
        isShow = (isShow+1)%2 ;
        cRight.style.display        = ["none", "inline" ][isShow] ;
        cCenter.style.marginRight    = ["0px" , bWidth   ][isShow] ;
        cEach( document.getElementsByName( nName ), function( x ) {
            x.innerHTML = ["&lt;&lt;", "&gt;&gt;"][isShow] ;
        } );
    }

    function doInit() {
        cEach( document.styleSheets, function( x ) {
            try {
            cEach( x.cssRules, function( y ) {
                if( y.selectorText == ( nRight ) && y.style.width ) {
                    cRight = y; bWidth = y.style.width;
                }
                else if( y.selectorText == ( nCenter ) && y.style.marginRight ) {
                    cCenter = y;
                }
            } )
            } catch( e ) {}
        } );
        if( window.screen.width < minWidth || innerWidth < minWidth ) { doToggle(); }
//alert( "b:"+bWidth);
    }
   
    return {
        alt: doAlert,
        init: doInit,
        toggle: doToggle,
    };
}() );
com_cocologNifty_chikuwablog.toggleSideBar.init();
//]]>
</script>

|

« JavaScriptの設計者はLISP信者に違いない | トップページ | David Flanagan「JavaScript 第六版」オライリージャパン 村上列訳 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



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




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/201750/57651088

この記事へのトラックバック一覧です: ココログの右サイドバーを隠すJavaScript試作版:

« JavaScriptの設計者はLISP信者に違いない | トップページ | David Flanagan「JavaScript 第六版」オライリージャパン 村上列訳 »