menu
menu

キーワード検索

 

最近の投稿

【スクロール】グローバルナビをトップに固定するスティッキーナビ

  • Labs

jQuery

こんにちは(・∀・)

今回はjQueryでグローバルナビゲーションをトップに固定するスティッキーナビをご紹介します。

レスポンシブデザインに対応しました。

サンプル
HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div id="nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Strategy</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Works</a></li>
<li><a href="#">Mail</a></li>
</ul>
<!--nav--></div>
CSS

#nav  {
  text-align: center;
}
#nav ul  {
  width: 300px;
  overflow: hidden;
  margin: 0 auto;
  background: #eee;
}
#nav ul li  {
  float: left;
}
#nav ul li a {
  font-size: 12px;
  display: block;
  width: 55px;
  height: 40px;
  margin: 0 0 0 1px;
  padding: 5px 2px;
  color: #fff;
  background: #9fb7d4;
  text-align: center;
}
#nav ul li a:hover {
  color: #fff;
  background: #afc6e2;
}
.content {
  padding: 10px;
}
@media (min-width: 768px) {
#nav ul  {
  width: 600px;
}
#nav ul li a {
  font-size: 14px;
  width: 115px;
  margin: 0 0 0 1px;
  padding: 1px 2px;
}
.content {
  width: 600px;
  margin: 0 auto;
}
/* ** */}
JavaScript

$(function() {
var nav = $('#nav');
var navTop = nav.offset().top;
$(window).scroll(function () {
var winTop = $(this).scrollTop();
if (winTop >= navTop) {
nav.css({
'position': 'fixed',
'top':'0',
'background': 'white',
'z-index': '1000',
'width': '100%',
'text-align': 'center',
'left': '0',
'padding-bottom': '5px'
});
} else if (winTop <= navTop) {
nav.css({
'position': 'static',
'top': '',
'background': ''
});
}
});
});
Result

サンプルデモはこちら


関連リンク

【スクロール】スクロールしても要素が固定するスティッキーサイドバー
【スクロール】グローバルナビをトップに固定するスティッキーナビ+ドロップダウンメニュー

  • カテゴリー:Labs