HOME > jQuery > スマホ用メニューの実装

スマホ用メニューの実装

スマホサイトで一般的に見られるハンバーガーメニューの実装メモ。

サンプル

メニューが開くとハンバーガーメニューが×画像に代わるハズなんですが、toggleClassで追加されるべきclass=”active”がclassだけになっちゃってます。

jQuery

	$(function() {
		$("#menuBtn").click(function() { 
				$("#gNavi").slideToggle('slow');
				$(this).toggleClass("active");
		});
		$("#gNavi li a").click(function() {//メニューリンクをクリックしたらメニューを閉じる
				  $("#gNavi").slideToggle('200');
				$("#menuBtn").removeClass("active");
		});
	 });

css

	#sample_sp_menu #menuBtn{
		position: absolute;
		right: 0;
		top:0;
		width: 50px;
		height: 50px;
		background: url(images/sample_menu_open.png) no-repeat;
		background-size: 50px 50px;
	}
	#sample_sp_menu #menuBtn.active{
		background: url(images/sample_menu_close.png) no-repeat;
		background-size: 50px 50px;
	}

	/*****************  nav ***********************/
	#sample_sp_menu #gNavi{
		display: none;
	
		position: absolute;
		top: 50px;
		left: 0;
		width: 100%;
		background-color: rgba(0,0,0,0.8);
		z-index: 100;
	}
	#sample_sp_menu #gNavi ul{
		width: 90%;
		margin: 0 5%;
	}
	#sample_sp_menu #gNavi li{
		border-top:1px solid #ccc;
		padding: 14px 0 20px;
	}
	#sample_sp_menu #gNavi li a{
		color: #fff;
	}