https://sakic.jp/blog/web/smooth-scroll
$(function () { // 全てのアンカータグを対象にする $('a').click(function (e) { var anchor = $(this), href = anchor.attr('href'), pagename = window.location.href; // 現在のurlのハッシュ以降を削除 pagename = pagename.replace(/#.*/, ''); // リンク先のurlから現在の表示中のurlを削除 href = href.replace(pagename, ''); if (href.search(/^#/) >= 0) { // 整形したリンクがページ内リンクの場合はページ内スクロールの対象とする // 通常の遷移処理をキャンセル e.preventDefault(); var speed = 500; // 前段階で整形したhrefを使用する // var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top; $("html, body").animate({ scrollTop: position }, speed, "swing"); // ロケーションバーの内容を書き換え location.hash = href; return false; } }); });