今回はJQueryでスムーズスクロールする表現についてです。
通常、ページ内リンクをする場合
<div id="link"></div>
というIDに
<a href="#link"></a>
というリンクを指定してページ内の移動を指定するのですが。
この状態のままだとクリックした時の動きが急なので見づらく、ページを見ている側に対して優しくありません。
それに対してjQueryを使うことによって下に流れるようなスムーズなスクロール表現ができます。
まずhead内にJQueryを読み込みます。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
その直下にスクリプトを書きます。
<script> //スムーズスクロール jQuery(function(){ // #で始まるアンカーをクリックした場合に処理 jQuery('a[href^=#]').click(function() { // スクロールの速度 var speed = 500; // ミリ秒 // アンカーの値取得 var href= jQuery(this).attr("href"); // 移動先を取得 var target = jQuery(href == "#" || href == "" ? 'html' : href); // 移動先を数値で取得 var position = target.offset().top; // スムーススクロール jQuery('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); }); </script>
これで完成です。
設定としては下記の箇所
// スクロールの速度 var speed = 500; // ミリ秒
関数「speed」内の数字を変えることによってスクロール速度を変える事ができます。