IT30

スマホ用サイトやランディングページでよく使うページ内リンクを流れるように移動させる方法

スマホ用サイトやランディングページでよく使うページ内リンクを流れるように移動させる方法

2019.06.13 更新

今では当たり前に実装されているページ内リンクをスムーズに流れるように移動させる方法をメモしておきます。

スマホ用サイトでは最下部に【TOPへ戻る】のようなボタンがあったり、ランディングページでは上部のメニューやページ途中のバナーをクリックするとページ内のコンテンツへギュイーーーンと移動してくれるアレです。

 

JavaScriptを数行書くだけでページ内リンクがギュイーーーンとなります

 

ページ内リンクを飛ばすには飛ばしたい先のコンテンツのタグにidを指定する必要があります。

リンク先のhrefには#ID名を指定します。

 

HTML

<a href="#here">ここをクリックすると飛んでいく</a>









<div id="here">ここへ飛んでくる</div>

間に入るであろうコンテンツは省いていますがこうゆう感じです。

このままではリンクをクリックするとパッと画面がリンク先へ変わってしまいます。

ギュイーーーンとするにはJavaScriptを記述する必要があります。

 

JavaScript

$(function(){
  $('a[href^=#]').click(function(){
    var speed = 700;
    var href= $(this).attr("href");
    var target = $(href == "#" || href == "" ? 'html' : href);
    var position = target.offset().top;
    $("html, body").animate({scrollTop:position}, speed, "swing");
    return false;
  });
});

これをそのままJSに書けばOKです。

【var speed = 700;】の数字を変えると移動するスピードが変わります。

数字が小さいほど早く移動しますのでお好みの数字に変更して使ってみてください。

私もよく使うのでメモしておきます。

マレーシアの日系IT企業で働く30代のウェブエンジニアの備忘録ブログです。

基本は過去わからなくて悩んだコーディングや諸々の設定方法などをメモ代わりに書き留めています。

ウェブコーディングやワードプレスの勉強中の方や同じ問題で悩んでいる方のお力になれたら嬉しいです。

ウェブサイトの制作依頼をマレーシアのローカル企業にご依頼されて大変な思いをしたことはございませんか?

安価が魅力のマレーシア企業ですが、お国柄どうしても…
「期日を守らない」「連絡がおろそか」「上手くコミュニケーションが取れない」
などのお悩みをかかえることがあると思います。

かと言って日系の企業はマレーシアの企業よりも値が張るため予算的に合わない。

私もマレーシアで働くからこそ、その大変さを理解した上でご提案があります。