ネットで出会う攻略バイブル
jQuery.noConflict();
jQuery(function(){
// デフォルトで表示するレイアウト glid or list
var DEFAULT_LAYOUT = "glid";
// 左カラム(記事)のID
var LEFT_COLUMN_ID = "#main_contents";
// 右カラム(メニュー)のID
var RIGHT_COLUMN_ID = "#sidemenu";
// クッキーのキー名
var COOKIE_KEY_NAME = "template_blog_fc2";
// クッキーのオプション
// var COOKIE_OPTION = { expire: 30, domain: "myblog.blog.fc2.com", path: "/" };
var COOKIE_OPTION = { expire: 30 };
/** フッタープラグイン配置 **/
jQuery( "#footer_plg .plg" ).equalbox();
/** トップへ移動 **/
jQuery( "#toTop" ).hide();
jQuery( "#pagetop" ).click(function() {
jQuery("body, html").animate({scrollTop: 0}, 800);
return false;
});
// レイアウト切り替えフラグ 連続でレイアウト切り替えを行わせないためのもの
var layoutFlag = true;
/** 表示切替 **/
// list表示
function showListLayout() {
if ( !layoutFlag ) return;
jQuery( LEFT_COLUMN_ID ).css( "height", "" );
jQuery( RIGHT_COLUMN_ID ).css( "height", "" );
var t = setTimeout(function(){
layoutFlag = false;
jQuery( LEFT_COLUMN_ID )
.css( "opacity", "0" )
.show()
.fadeTo( "slow", 1, function(){ layoutFlag = true; } );
jQuery( ".switch .list a" ).addClass( "selected" );
jQuery( ".entry" ).addClass( "list_content" );
jQuery( ".switch .grid a" ).removeClass( "selected" );
jQuery( ".entry" ).removeClass( "grid_content" );
jQuery.cookie( COOKIE_KEY_NAME, "list", COOKIE_OPTION );
equalizeBoxHeight();
clearTimeout(t);
}, 100);
return false;
};
// glid表示
function showGridLayout() {
if (!layoutFlag) return;
jQuery( LEFT_COLUMN_ID ).css( "height", "" );
jQuery( RIGHT_COLUMN_ID ).css( "height", "" );
var t = setTimeout(function(){
layoutFlag = false;
jQuery( LEFT_COLUMN_ID )
.css( "opacity", "0" )
.show()
.fadeTo( "slow", 1, function(){ layoutFlag = true; } );
jQuery( ".switch .grid a" ).addClass( "selected" );
jQuery( ".entry" ).addClass( "grid_content" );
jQuery( ".switch .list a" ).removeClass( "selected" );
jQuery( ".entry" ).removeClass( "list_content" );
jQuery.cookie( COOKIE_KEY_NAME, "glid", COOKIE_OPTION );
equalizeBoxHeight();
clearTimeout(t);
}, 100);
return false;
};
jQuery( ".switch .list" ).click( showListLayout );
jQuery( ".switch .grid" ).click( showGridLayout );
// 左カラムと右カラムの高さを合わせる
function equalizeBoxHeight() {
var leftHeight = jQuery( LEFT_COLUMN_ID ).height();
var rightHeight = jQuery( RIGHT_COLUMN_ID ).height();
var height = (leftHeight > rightHeight)? leftHeight: rightHeight;
jQuery( LEFT_COLUMN_ID ).height(height + "px");
jQuery( RIGHT_COLUMN_ID ).height(height + "px");
};
function initialize() {
var layout = jQuery.cookie( COOKIE_KEY_NAME );
if ( !checkCookieValue( layout ) ) {
layout = DEFAULT_LAYOUT;
}
if ( "list" == layout ) {
showListLayout();
} else if ( "glid" == layout ) {
showGridLayout();
} else {
showGridLayout();
}
};
var layoutList = ["glid", "list"];
function checkCookieValue(str) {
if ("string" == typeof str) {
for (var i in layoutList) {
if (layoutList[i] == str) return true;
}
};
return false;
};
initialize();
});