ミギムキ

[jQuery] 絶対パス指定のリンクでスムーススクロールしたい

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

サンプルコード

jQuery(function($) { $('a[href*=#]').click(function(){ var speed = 500; var href= $(this).attr('href'); var url = location.protocol + '//' + location.hostname + location.pathname; href = href.replace(url, ''); var target = $(href == '#' || href == '' ? 'html' : href); if( target.size() < 1 ) return true; var position = target.offset().top; $('html, body').animate({scrollTop:position}, speed, 'swing'); return false; }); });

補足・解説・仕組み

$('a[href*=#]').click(function(){ 〜 } var url = location.protocol + '//' + location.hostname + location.pathname; href = href.replace(url, '');

ご質問など受け付けています

記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。

ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。