ページ内リンクをスムーズスクロール
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(); } });
おわり
スクロースバーを使うときはいつも「jScrollPane」を使ってます。使い方は …
新着情報などトップページに固定サイズの枠内で表示させるとき、デフォルトの状態だと …
カルーセルスライダーをレスポンシブ対応しました。有名なflexsliderで実装 …
スマートフォン向けのサイトなど下に長く画像がたくさんあるページはよくあります。通 …
便利で有名なjqueryのスライダープラグインflexsliderですが、man …