ホーム » ブログ » JS
このエントリーをはてなブックマークに追加
@2018/12/21

スポンサーリンク

/**********************************************
 *  ▼共通JS▼ 
 **********************************************/
$(function() {
	/* (F1)Globalメニュー初期化 */
	globalMenu.init();
	/* (F2)スマホメニュー初期化 */
	spMenu.init();
	/* (F3)スクロール初期化 */
	scrollEvt.init();

});

/*========================================
 * (F1)Globalナビー
 *========================================*/
var globalMenu = (function() {
	var $menu = $( '.GNav__menu' ),
		$menuAnchor = $menu.children( 'a' ),
		$closeMenu = $( '.GNav__close' ),
		$closeMenuAnchor = $closeMenu.children( 'a' ),
		$body = $( 'body' ),
		current = -1;
	function init() {
		$menuAnchor.on( 'click', open );
		$closeMenuAnchor.on("click",open);
		$menu.on( 'click', function( event ) { event.stopPropagation(); } );
		// サブメニュー初期化
		subMenuHover.init();
	}
	function open( event ) {
		/* サブメニューが付いてないメニューは直接a-linkへ遷移させる */
		if($(this).parent().has('div.GNav__submenu').length == 0) {
			if($(this).parent().find('a').attr('href') != ''){
				window.location = $(this).parent().find('a').attr('href');
				return false;
			}
		}
		/* メニューを開いてる場合、閉じる */
		if( current !== -1 ) {
			$menu.eq( current ).removeClass( 'GNav__menu--open' );
		}
		var $item = $( event.currentTarget ).parent(),
			idx = $item.index();
		/* クリックされたメニューは現在表示しているメニューの場合、メニューを閉じる */
		if( current === idx ) {
			$item.removeClass( 'GNav__menu--open' );
			current = -1;
		}
		/* クリックされたメニューは現在表示しているメニューではない場合、現在のメニューを閉じる */ 
		else {
			$item.addClass( 'GNav__menu--open' );
			current = idx;
			$body.off( 'click' ).on( 'click', close );
		}
		return false;
	}
	function close( event ) {
		$menu.eq( current ).removeClass( 'GNav__menu--open' );
		current = -1;
	}
	
	return { init : init };
})();

/*========================================
 * GNav__submenu a when mouse-over event
 *========================================*/
var subMenuHover = (function() {
	$subMenu = $('.GNav__submenuTtlList a');
	/**$currentSm = fasel;*/
	function init() {
		 $subMenu.on("mouseover",
			function(){
				$(this).css({color: '#FFF'});
				$('.GNav__submenuInfo').css({display:"none"});
				var labelId = $(this).data("label");
				$("#" + labelId).show(150);
				$("#" + labelId).css({'display':'block'});
			});
	}
 return { init : init };
})();

/*========================================
 * スマホメニュー対応
 *========================================*/
var spMenu = (function() {
	function init() {
		var $header = $('header');
		$('#mbNavIcon').click(function(){
			$header.toggleClass('Header--mobile-nav-open');
		});
	}
	return { init : init };

})();

/*========================================
 * スクロール対応
 *========================================*/
var scrollEvt = (function() {
	var $header = $('header');
	function init() {
		// スクロールPX数監視イベント
		$(window).scroll(function() {
			if ($(window).scrollTop() > 28) {
				$header.addClass('Header--fixed');
			} else {
				$header.removeClass('Header--fixed');
			}
		});
	}
	
	return { init : init };
	
})();





♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
0人
このエントリーをはてなブックマークに追加


★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

check