humberger menu を実装したのでそのソースを防備録として残しておく。
実装コード
header 内の script
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> (function($) { $(function() { var $header = $('header'); // Nav Fixed $(window).scroll(function() { if ($(window).scrollTop() > 350) { $header.addClass('fixed'); } else { $header.removeClass('fixed'); } }); // Nav Toggle Button $('#nav-toggle').click(function(){ $header.toggleClass('open'); }); }); })(jQuery); </script>
つまり、#nav-toggle にメニュー(画像)を配置しておき、クリックで header に “open” class を付与する。デザインはCSSで実装。
HTML の記述例
<div id="nav-toggle" class="sp_only">MENU</div> <nav id="gnav"> <ul> <li id="menu1"><a href="menu1.html">menu1</a></li> <li id="menu2"><a href="menu2.html">menu2</a></li> <li id="menu3"><a href="menu3.html">menu3</a></li> <li id="menu4"><a href="menu4.html">menu4</a></li> <li id="menu5"><a href="menu5.html">menu5</a></li> </ul> </nav>
CSS の記述例
.sp_only { display: none; } @media only screen and (max-width: 480px) { #nav-toggle { position: absolute; top: 10px; left: 10px; width: 40px; height: 40px; background: url(../images/menu_icon.png) left top no-repeat; /* 40*40size */ text-indent: -9999px } header.open #nav-toggle { background: url(../images/menu_icon_close.png) left top no-repeat !important; } #gnav { /* 開いてないときは画面外に配置 */ position: absolute; top: -500px; background: transparent; width: 100%; } header.open #gnav { /* #global-nav スライドアニメーション */ -moz-transform: translateY(500px); /* #global-nav top + #mobile-head height */ -webkit-transform: translateY(500px); transform: translateY(500px); } #menu1 a, #menu2 a, #menu3 a, #menu4 a, #menu5 a { width: 100%; text-indent: 0 !important; } }