NAKAZI LAB.(ナカジラボ)

Webサイト制作を円滑にすることを目的とした、cssやJavaScript(jQuery)の小技備忘録サイトです。

オン・オフ状態の切り替え表示付きアコーディオンメニュー

2015年4月16日jQueryのみでつくるギミック

オン・オフ状態の切り替え表示付きアコーディオンメニュー

メニューグループが開いている時と閉じている時で表示を切り替えることができる、jQueryだけでつくるアコーディオンメニューです。

デモページ

JavaScript

(function($){
	$(function() {

		$('.menuGroup .groupName').on('click', function() {
			$(this).next().slideToggle();
			$(this).toggleClass('on');
		});
	
	});
})(jQuery);

HTML

<div id="container">
	<div class="menuGroup">
		<h4 class="groupName">menu01</h4>
		<ul class="childMenu">
			<li><a href="javascript:void(0);">child menu01</a></li>
			<li><a href="javascript:void(0);">child menu02</a></li>
			<li><a href="javascript:void(0);">child menu03</a></li>
		</ul>
	</div>
	<div class="menuGroup">
		<h4 class="groupName">menu02</h4>
		<ul class="childMenu">
			<li><a href="javascript:void(0);">child menu01</a></li>
			<li><a href="javascript:void(0);">child menu02</a></li>
			<li><a href="javascript:void(0);">child menu03</a></li>
		</ul>
	</div>
	<div class="menuGroup">
		<h4 class="groupName">menu03</h4>
		<ul class="childMenu">
			<li><a href="javascript:void(0);">child menu01</a></li>
			<li><a href="javascript:void(0);">child menu02</a></li>
			<li><a href="javascript:void(0);">child menu03</a></li>
		</ul>
	</div>
</div>

CSS

#container {
	max-width: 320px;
	padding: 0 30px;
	box-sizing: border-box;
	margin: 0 auto;
}
#container a {
	transition: .2s linear;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	-o-transition: .2s linear;
	-ms-transition: .2s linear;
}
.menuGroup {
	border: 1px solid #ff5b6b;
	background-color: #ff5b6b;
	color: #ffffff;
	border-bottom: 0;
}
.menuGroup:last-child {
	border-bottom: 1px solid #ff5b6b;
}
.menuGroup .groupName {
	padding: 14px 16px;
	cursor: pointer;
	position: relative;
	transition: .2s linear;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	-o-transition: .2s linear;
	-ms-transition: .2s linear;
}
.menuGroup .groupName:hover,
.menuGroup .on {
	background-color: #ff7384;
}
.menuGroup .groupName:after {
	content: "▼";
	position: absolute;
	right: 12px;
	font-size: 10px;
}
.menuGroup .on:after {
	content: "▲";
	font-size: 10px;
}
.menuGroup .childMenu {
	display: none;
	background-color: #ffffff;
	color: #ff5b6b;
}
.menuGroup a {
	display: block;
	padding: 14px 16px;
	border-top: 1px solid #ff5b6b;
	background-color: #ff7384;
	color: #ffffff;
	text-decoration: none;
}
.menuGroup a:hover {
	background-color: #ffffff;
	color: #ff5b6b;
}

デモページ

  • ̃Gg[͂ĂȃubN}[Nɒlj

関連記事

  1. オン・オフ状態の切り替え表示付きアコーディオンメニュー

更新情報をチェックする

rss feedly twitter facebook

今週の人気記事TOP10

サイト内検索

中の人

nakazi

Web関係のお仕事をしてます。効率化が大好きです。当サイトの更新情報やWeb制作に関する事を@nakazilabでつぶやいています。

連絡先

nakazilab[atmark]gmail.com