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;
}
}
