[JS]jQueryのスムーススクロールで着地点の位置を微妙にずらす方法
スポンサード
スポンサード
jQueryのスムーススクロールを使って指定の場所へページ内遷移した時、アンカー名から上下に位置にずらして着地させる方法のご紹介です。
例えばヘッダーがページ上部に固定されていて、ヘッダーの高さ分だけ着地点を調整しないといけないような場合に便利なカスタマイズです。
着地点を100px下にずらす
まずは100pxだけ下にずらす場合のコード例です。1 2 3 4 5 6 7 8 9 10 11 12 13 | <script src="./jquery.min.js"></script> <script> $(function(){ $('a[href^=#]').click(function(){ var speed = 500; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top + 100; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); }); </script> |
着地点を100px上にずらす
今度は100px上にずらす場合です。1 2 3 4 5 6 7 8 9 10 11 12 13 | <script src="./jquery.min.js"></script> <script> $(function(){ $('a[href^=#]').click(function(){ var speed = 500; var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top - 100; $("html, body").animate({scrollTop:position}, speed, "swing"); return false; }); }); </script> |
スポンサード
コメント