jQueryでスクロールすると上部に固定されるナビゲーション
グローバルナビゲーションはロゴの下に配置されていることが多いですが、スクロールするとナビゲーション部分だけが上部に固定されるようなものをjQueryでやってみたいと思います。
- 投稿日
- 更新日
Demo
html & css
htmlです。
<h1><a href="#">タイトル</a></h1>
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">NEWS</a></li>
<li><a href="#">LINK</a></li>
ナビゲーション部分のcssはこんな感じです。
jQueryでは「.fixed」クラスを追加したり削除するだけなので、「
」で通常のナビゲーション表示で、「
」で上部に固定されるようにcssを設定しておきます。
jQuery
「$(window).scroll」はスクロールするたびに実行されるイベントなので、この中でナビゲーションが現在の位置より上か下かの条件分岐をすればいいだけです。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">
var navTop = nav.offset().top;
$(window).scroll(function () {
var winTop = $(this).scrollTop();
//スクロール位置がnavの位置より下だったらクラスfixedを追加
} else if (winTop <= navTop) {
プルダウンメニューをつける
プルダウンメニューはいろいろプラグインがあると思いますので、普通につけてもらえればいけると思います。
一応簡単なものですが載せておきます。
var navTop = nav.offset().top;
$(window).scroll(function () {
var winTop = $(this).scrollTop();
} else if (winTop <= navTop) {
$('li', nav).hover(function(){
$('ul',this).slideDown('fast');
$('ul',this).slideUp('fast');
その他スクロール関係の記事はこちらもどうぞ
jQueryでスクロールすると表示する系いろいろ
関連記事

雲の画像を背景に設定してゆらゆらさせてみました。
jQueryバージョンとCSS3バージョンでお送りいたします。
- 投稿日
- 更新日

あまり使う機会はない気がしますがcssで指定した背景画像をjQueryでループアニメーションしてみます。
- 投稿日
- 更新日

正規表現といえばフォームチェックがぱっと思いつきますが、最近ではjQueryで外部APIで様々な情報を取得する機会が増え、それによって文字列の置き換えなどもできるようにならんとな、と思ったりしている人も増加しているはず!
ということでお手軽に使えるjQueryを使用して正規表現をちょこっと勉強してみようと思います。
- 投稿日
- 更新日

グローバルナビゲーションはPCだと画像で作る場合が多いですが、スマホだとCSS3がフルに使えたりフォントが綺麗だったりするので、画像ではなくテキストで表示したいことがあります。
そこでレスポンシブで画像をテキストを切り替える方法をご紹介します。
- 投稿日
- 更新日