スクロールに追随するナビゲーションの作成
- カテゴリー:
- javascript
新年1発目のサンプルになります。
画面をスクロールするとヘッダーやナビゲーションが画面上部からニョキッと現れてそのままスクロールに追随する演出を最近よく見るのですが、簡単なサンプルを作ってみたいと思います。
と、言っても実際はほぼjavascriptのみで実装しますので、簡単なのですが、まずjqueryを使用しますので、サイトよりダウンロードを行い、外部ファイルとして読み込みます。
次にスクロールされた際にナビゲーションを追随させるためのjavascriptを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$(function() { var navi_elem = $("#navi"); //追随させるナビゲーションのID $(window).scroll(function () { var st = $(this).scrollTop(); var m = 110; // ヘッダーとナビゲーションの高さ if(st > m) { if( navi_elem.css("position") != "fixed") { navi_elem.css("position","fixed").css("top","-30px"); // ナビゲーションの高さ分画面外へ navi_elem.animate({top:"0px"},"slow"); } } else { navi_elem.css("position","static"); } }); }); |
ヘッダーとナビゲーションの高さ分スクロールされるとナビゲーションにpositionのfixedを設定し、一度画面外に配置します。
次に画面上部からニョキッと現れるようにアニメーションさせています。
画面の上部にスクロールされ、元々のナビゲーションの位置にまで戻るとナビゲーションのpositionをstaticに戻し、完成です。
これを応用させれば、ヘッダー全体をスクロールに追随させたりすることができます。
サンプルはこちら