JQueryでページトップなどへ移動するプログラム

投稿日: カテゴリー: Javascript

最近のサイトはよくページ内リンクをクリックするとスムーズスクロールというアニメーションで移動するというのがありますね。

本日は、その動作を実装するプログラムを解説いたします。

 

まず使用するプログラム

javascriptを使用します。

また、jQuery というjavascriptのライブラリも使用します。

 

サンプルプログラム

下記の内容をHTMLファイルのheadタグ内に記述してください。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($){
//スムーズスクロール
$(function(){
$('a[href^=#]').on('click', function(){
var Target = $(this.hash);
var TargetOffset = $(Target).offset().top - 150;
var Time = 700;
$('html, body').animate({
scrollTop: TargetOffset
}, Time);
return false;
});
});
});
</script>

 

簡単に解説

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

ここでJQueryの本体を読み込んでいます。特段ファイルを用意する必要はありません。これはGoogleのサーバーにアップされているファイルを使用していおります。コチラを読み込むことで手軽にJQueryを使用することが出来ます。

 

<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($){
//スムーズスクロール
$(function(){
$('a[href^=#]').on('click', function(){
var Target = $(this.hash);
var TargetOffset = $(Target).offset().top - 150;
var Time = 700;
$('html, body').animate({
scrollTop: TargetOffset
}, Time);
return false;
});
});
});
</script>

この処理がページ内リンクをaタグの場合はアニメーションにするという処理になります。また、ページ移動のスピードについて、「var Time = 700」という記述があります。この記述の数値を変更することでスピードが変わります。ちなみにスピードは700で0.7秒となります。