$(function(){
var className = "",
modalOpenFlg = 0,
modalCloseFlg = 0,
self = "",
timeoutObj = "";
$('.menu li').on('mouseenter',function()
{
self = $(this);
//----------------------------------------------------
// 動こうとしているものがいればストップ
//----------------------------------------------------
clearTimeout(timeoutObj);
//----------------------------------------------------
// メガドロップダウンがない所に置いた場合は閉じて
// 処理の終了
//----------------------------------------------------
if(self.hasClass('noMd'))
{
modalClose();
return false;
}
//----------------------------------------------------
// メガドロップダウンを開くには0.3秒のディレイ付き
// カスっただけで開くのを阻止
//----------------------------------------------------
timeoutObj = setTimeout(function()
{
//----------------------------------------------------
// 閉じる処理が動作している場合は処理の終了
//----------------------------------------------------
if(modalCloseFlg == 1)
{
modalCloseFlg = 0;
return false;
}
//----------------------------------------------------
// どれを開いているかを取得
//----------------------------------------------------
className = self.attr('class');
//----------------------------------------------------
// 開閉ボックスの初期化
//----------------------------------------------------
$('.mdBox').find('div').each(function()
{
if($(this).attr('class').indexOf(className) < -0)
{
$(this).hide();
}
});
//----------------------------------------------------
// 既に開いている場合は
// 内容だけ切替
//
// 開いていない場合は
// スライドさせてくる
//----------------------------------------------------
perentHeight = parseInt($('.'+className+'Box').outerHeight());
$('.mdBox').css('height',perentHeight+'px');
if(modalOpenFlg == 1)
{
$('.'+className+'Box').show();
}
else
{
if(modalCloseFlg == 1)
{
return false;
}
modalOpenFlg = 1;
$('.'+className+'Box').slideDown('slow',function(){});
}
},300);
});
//----------------------------------------------------
// 大枠からマウスが外れたら閉じる
//----------------------------------------------------
$('.menuHBox').on('mouseleave',function()
{
modalClose();
});
/***********************
*
* modalClose
* 閉じる処理
*
* @parm none
* @return none
*
***********************/
function modalClose()
{
// オープンさせない
clearTimeout(timeoutObj);
modalCloseFlg = 1;
$('.'+className+'Box').stop('true','true').slideUp('slow',function()
{
modalOpenFlg = 0;
$('.mdBox').css('height','0px');
});
setTimeout(function()
{
modalCloseFlg = 0;
},400);
}
});