ページ内リンクをスムーズスクロール
2014/12/10
サイト内を滑らかにスクロールさせます。
ほぼ必ずサイトの右下などに「Topへ戻る」ボタンがあって、ボタンを押すと滑らかにTOPへ移動するあれです。
ただWebで調べるとたいてい、「Topへ戻る」ボタンに id が振られていてそのボタンが押されたら~~~って処理を書いています。
それだと面倒なので、ページ内リンクは全て同じ処理を使うことにしました。
WordPressの初心者が独学でホームページ作成したときの技術メモ

2014/12/10
サイト内を滑らかにスクロールさせます。
ほぼ必ずサイトの右下などに「Topへ戻る」ボタンがあって、ボタンを押すと滑らかにTOPへ移動するあれです。
ただWebで調べるとたいてい、「Topへ戻る」ボタンに id が振られていてそのボタンが押されたら~~~って処理を書いています。
それだと面倒なので、ページ内リンクは全て同じ処理を使うことにしました。
$(‘a[href^=#]’)を指定することでページ内リンクを抽出させる
//ページ内リンクのスクロール
$(function(){
// #で始まるアンカーをクリックした場合に処理
$('a[href^=#]').click(function() {
// スクロールの速度
var speed = 400; // ミリ秒
// アンカーの値取得
var href= $(this).attr("href");
// 移動先を取得
var target = $(href == "#" || href == "" ? 'html' : href);
// 移動先を数値で取得
var position = target.offset().top;
// スムーススクロール
$('body,html').animate({scrollTop:position}, speed, 'swing');
return false;
});
});
「Topへ戻る」ボタンは
<a href=”#”>Topへ戻る</a> とでもしておけばよい。
「Topへ戻る」ボタンをちょっとスクロースさせたら表示させたい場合は、ボタンにidを付けて下記のようにすればよい
var pagetop = $('#pagetop');
$(window).scroll(function(){
if ( $(this).scrollTop() > 500 ) { //500pxスクロールで表示
pagetop.fadeIn();
} else {
pagetop.fadeOut();
}
});
おわり
スマートフォン向けのサイトなど下に長く画像がたくさんあるページはよくあります。通 …
新着情報などトップページに固定サイズの枠内で表示させるとき、デフォルトの状態だと …
カルーセルスライダーをレスポンシブ対応しました。有名なflexsliderで実装 …
便利で有名なjqueryのスライダープラグインflexsliderですが、man …
スクロースバーを使うときはいつも「jScrollPane」を使ってます。使い方は …