WEBOPIXEL

jQuery+CSS3で全画面表示するハンバーガーメニュー

Posted: 2019.01.31 / Category: HTML&CSS, javascript 

jQuery+CSS3を使用して、ハンバーガーボタンをクリックすると全画面メニューが表示するやつをやってみます!

Sponsored Link

フェードで表示されるナビゲーション

一つ目はフェードで表示されるナビゲーションです。

See the Pen Full Screen Hamburger Menu 01 by webopixel (@webopixel) on CodePen.

html

<div id="nav-toggle">
	<div>
		<span></span>
		<span></span>
		<span></span>
	</div>
</div>

<div id="gloval-nav">
	<nav>
		<ul>
			<li><a href="#">Home</a></li>
			<li><a href="#">News</a></li>
			<li><a href="#">About</a></li>
			<li><a href="#">Works</a></li>
			<li><a href="#">Contact</a></li>
		</ul>
	</nav>
</div>

#nav-toggleをクリックするとbodyopenクラスを付与するということをjQueryでやってます。

JavaScript

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script type="text/javascript">
(function($) {
	$(function () {
		$('#nav-toggle').on('click', function() {
			$('body').toggleClass('open');
		});
	});
})(jQuery);
</script>

CSSは重要なのは#gloval-navの部分ですね。
フェードイン&アウトの動きはopacityvisibilitytransitionさせることで実現できます。

css

#gloval-nav {
	background: #000;
	color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 990;
	text-align: center;
	display: flex;
	visibility: hidden;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 29px;
	opacity: 0;
	transition: opacity .6s ease, visibility .6s ease;
}
.open #gloval-nav {
	visibility: visible;
	opacity: 1;
}

横からスライドするナビゲーション

2つ目は横からスライドするタイプです。

See the Pen Full Screen Hamburger Menu 02 by webopixel (@webopixel) on CodePen.

横移動なのでtranslateXtransitionするだけですね。

css

#gloval-nav {
	color: #fff;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 990;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 29px;
	padding-left: 100px;
	transform: translateX(-100%);
	transition:  transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open #gloval-nav {
	transform: translateX(0);
}

COMMENTS

a.n 2019-06-17 20:52 

拝見させて頂きました。
プログラミング初心者なのですが
script srcのあとのものは何でしょうか?

お時間あるときにコメント下さると嬉しいです。

webOpixel 2019-06-19 13:05 

jQueryというライブラリを使用していますので、
script src の部分で読み込んでます。

LEAVE A REPLY

コードを書く場合は<pre>で囲んでください。